springboot基礎入門2(profile應用)

Profile應用

  • 一、何為Profile
  • 二、profile配置方式
    • 1.多profile文件方式
    • 2.yml多文檔方式
  • 三、加載順序
    • 1. file:./config/: 當前項目下的/config目錄下
    • 2. file:./ :當前項目的根目錄
    • 3. classpath:/config/:classpath的/config目錄
    • 4. classpath:/ : classpath的根目錄
  • 四、profile激活方式
    • 1. 配置文件
    • 2. 虛擬機參數
    • 3. 命令行參數
  • 五、測試類編寫
    • 1. 不同目錄下的編寫
    • 2. 同目錄下
  • 六.導入redis

一、何為Profile

在開發springboot應用時。通常一套程序會被安裝在不同環境中(比如開發,測試,生產),其中數據庫地址,服務器端口等等配置都不同,如果每次打包是,都要修改配置文件,就會非常麻煩,profile可以進行動態配置切換

二、profile配置方式

1.多profile文件方式

applicatio.yml

---server:port: 8081spring:profiles: dev
---server:port: 8082spring:profiles: test
---
server:port: 8083spring:profiles: pro

每一個框內都是一組配置
激活使用

---
spring:profiles:active: dev

在這里插入圖片描述

2.yml多文檔方式

三、加載順序

1. file:./config/: 當前項目下的/config目錄下

2. file:./ :當前項目的根目錄

3. classpath:/config/:classpath的/config目錄

4. classpath:/ : classpath的根目錄

高優先級屬性會生效,但是每個文件都會讀取,只是生效與否

四、profile激活方式

1. 配置文件

2. 虛擬機參數

部署方法
在這里插入圖片描述
在這里插入圖片描述

3. 命令行參數

在這里插入圖片描述

五、測試類編寫

1. 不同目錄下的編寫

若目錄com.itheima.springboottest.UserService方法

package com.itheima.springboottest;import org.springframework.stereotype.Service;@Service
public class UserService {public void add() {System.out.println("add...");}
}

測試類目錄為com.itheima.test.UserServiceTest 與上面不一致,一個是applicationtest一個是test

package com.itheima.test;import org.junit.Test;
import org.junit.runner.RunWith;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.context.SpringBootTest;
import org.springframework.test.context.junit4.SpringRunner;/*** userService的測試類*/@RunWith(SpringRunner.class)
@SpringBootTest(classes = SpringbootTestApplication.class)
# 不同目錄,這里的classes不可以省略
public class UserServiceTest {@Autowiredprivate UserService userService;@Testpublic void testAdd() {userService.add();}
}
  1. RunWith通常是一個用于測試的編程概念,特別是在框架如JUnit(Java Unit Testing Framework)或.NET的Moq、NUnit等中。RunWith的作用是用來標記或裝飾測試方法,告訴測試運行器如何執行這個特定的測試。例如,在JUnit中,@RunWith(Suite.class)表明該測試類應該作為一組測試用例的集合(suite)來運行,而不是獨立的測試。

  2. 在Java中,@ RunWith注解通常放在測試類的定義上方,這樣測試框架就能識別并按照指定的方式運行測試方法。如果你看到RunWith并且是編程相關的上下文,那可能是在討論單元測試或行為驅動開發(BDD)中的測試組織方式。

  3. @Autowired 是Spring框架中的一個注解,用于依賴注入(Dependency Injection, DI)機制。它是一個懶加載注解,用于自動裝配bean到其他bean中,簡化了組件之間的依賴管理。當你在一個字段、方法參數或構造器上使用 @Autowired,Spring容器會嘗試找到并注入合適的bean實例,滿足該字段或方法的需求

  4. @Autowired 具體使用時,例如在控制器、服務類或DAO接口等地方,你不再需要顯式地創建和管理這些對象,Spring會在運行時自動完成這個過程。這有助于降低代碼的耦合度,使得組件更加松耦合,提高代碼的可測試性和可用性

2. 同目錄下

package com.itheima.springboottest;import org.junit.Test;
import org.junit.runner.RunWith;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.context.SpringBootTest;
import org.springframework.test.context.junit4.SpringRunner;/*** userService的測試類*/@RunWith(SpringRunner.class)
@SpringBootTest(classes = SpringbootTestApplication.class)
public class UserServiceTest {@Autowiredprivate UserService userService;@Testpublic void testAdd() {userService.add();}
}

在這里插入圖片描述

六.導入redis

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/web/37491.shtml
繁體地址,請注明出處:http://hk.pswp.cn/web/37491.shtml
英文地址,請注明出處:http://en.pswp.cn/web/37491.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

【設計模式】【創建型5-2】【工廠方法模式】

文章目錄 工廠方法模式工廠方法模式的結構示例產品接口具體產品工廠接口具體工廠客戶端代碼 實際的使用 工廠方法模式 工廠方法模式的結構 產品(Product):定義工廠方法所創建的對象的接口。 具體產品(ConcreteProduct&#xff0…

Redis 集群模式

一、集群模式概述 Redis 中哨兵模式雖然提高了系統的可用性,但是真正存儲數據的還是主節點和從節點,并且每個節點都存儲了全量的數據,此時,如果數據量過大,接近或超出了 主節點 / 從節點機器的物理內存,就…

個人網站制作 Part 28 添加用戶活動跟蹤功能 | Web開發項目添加頁面緩存

文章目錄 👩?💻 基礎Web開發練手項目系列:個人網站制作🚀 添加用戶活動跟蹤功能🔨使用分析工具🔧步驟 1: 選擇分析工具🔧步驟 2: 注冊Google Analytics賬戶🔧步驟 3: 獲取Analytics…

Java面試題--JVM大廠篇之深入了解G1 GC:高并發、響應時間敏感應用的最佳選擇

引言: 在現代Java應用的性能優化中,垃圾回收器(GC)的選擇至關重要。對于高并發、響應時間敏感的應用而言,G1 GC(Garbage-First Garbage Collector)無疑是一個強大的工具。本文將深入探討G1 GC適…

李一桐遭遇蜈蚣驚魂

李一桐遭遇“蜈蚣驚魂”!劉宇寧展現真男人本色在娛樂圈的幕后,總有一些心跳加速的驚險。近日,李一桐在拍戲時遭遇了一場“蜈蚣驚魂”,讓無數粉絲和網友為她捏了一把冷汗。而在這場驚險的遭遇中,劉宇寧展現出了真男人的…

NOI大綱——普及組——二叉搜索樹

二叉搜索樹 二叉搜索樹(Binary Search Tree,簡稱BST)是一種特殊的二叉樹,它具有以下幾個特點: 節點的左子樹上的所有節點的值都小于或等于該節點的值。節點的右子樹上的所有節點的值都大于或等于該節點的值。每個節點…

ActiveMq工具之管理頁面說明

文章目錄 安裝ActiveMQ一: 訪問管理頁面二: 進入管理頁面,主頁三: Queues頁說明四: Topics頁說明五: Subscribers頁說明 安裝ActiveMQ wget https://archive.apache.org/dist//activemq/5.13.3/apache-activemq-5.13.3-bin.tar.gz wget https://mirrors.huaweiclou…

為什么越來越多的企業選擇外包?賦能企業未來

軟件開發過程包括設計需求、設計方案、產品研發、產品交付、后期維護,許多企業并沒有軟件開發的專業能力與工作經驗,將軟件開發工作進行外包是比較節約成本的,企業能少走不少彎路。 YesPMP平臺(一站式軟件外包、項目外包服務-YesP…

UWA Pipeline 2.6.1版本更新

UWA Pipeline是專為游戲開發團隊設計的本地協作平臺,旨在幫助團隊建立專業的DevOps研發交付流水線。本平臺提供了可視化的CI/CD操作界面,高可用的自動化測試和無縫集成的UWA性能保障服務等核心功能。 在最新的Pipeline更新中,UWA引入了參數配…

protobufjs解析proto消息出錯RangeError: index out of range: 2499 + 10 > 2499解決辦法

使用websocket通訊傳輸protobuf消息的時候,decode的時候出錯了: RangeError: index out of range: 2499 10 > 2499 Error: invalid wire type 4 at offset 1986 出現這種錯誤的時候,99%是因為proto里面的消息類型和服務端發送的消息類型不…

vue表頭字段添加鼠標懸浮提示

<el-table-column prop"jfScore" align"center" min-width"100px"><template slot"header" slot-scope"scope"><div><span>信用積分</span><el-tooltip:aa"scope"class"it…

Java錯題歸納(二)

1、若有如下接口A的定義&#xff0c;下列哪些類下確實現了該接口&#xff1a;C interface A { void method1(int i); void method2(int j); } A class B implements A{ void method1( ) { } void method2( ) { } } B class B implements A { void method1(int i ) { }…

關于windows,wifi圖標顯示不了的解決方法

解決方法一&#xff08;解決了我的問題的方法&#xff09;&#xff1a; winr -->輸入 regedit 打開注冊表 --> 刪除HKEY-CLASSES_ROOT\CLSID\{3d09c1ca-2bcc-40b7-b9bb-3f3ec143a87b} CLSID在下面仔細找&#xff0c;然后找到09開頭那個刪掉重啟就可以了&#xff0c;可能…

別小看ai智能語音機器人但也別神話它電銷機器人部署語音識別‘次數活動

人類社會的發展不斷在加速&#xff0c;現代人對新事物接納的速度變得越來越快&#xff0c;進而對新事物、新模式的期待也越來越多、頻率越來越高。 僅聚焦在電銷領域&#xff0c;當將視線回撥&#xff0c;我們會發現作為新技術與新模式的代表&#xff0c;電銷從20世紀中后期引進…

CAS服務端部署

部署CAS Cas服務端其實就是一個war包。 在資源\cas\source\cas-server-4.0.0-release\cas-server-4.0.0\modules目錄下cas-server-webapp-4.0.0.war 將其改名為cas.war放入tomcat目錄下的webapps下。啟動tomcat自動解壓war包。瀏覽器輸入 登錄頁面 http://localhost:8080/ca…

nuxt3搭建和部署

Nuxt 3是一個基于Vue 3的靜態網站生成框架&#xff0c;它提供了高性能、SEO友好的Web應用程序開發體驗。Nuxt 3重寫了許多核心代碼&#xff0c;增加了新功能&#xff0c;如基于Vite的構建系統、改進的路由系統、數據獲取和插件系統。它支持TypeScript和多種渲染模式&#xff08…

20240701 每日AI必讀資訊

&#x1f3eb;AI真煉丹&#xff1a;整整14天&#xff0c;無需人類參與 - 英矽智能推出全球首個AI參與決策的生物學實驗室&#xff0c;實現了14天內完成靶點發現和驗證的全自動化閉環實驗。 - 該實驗室由PandaOmics平臺驅動&#xff0c;集成多種預測模型和海量數據&#xff0…

conda安裝d2l教程

前言 提前安裝anaconda為什么直接安裝d2l會出錯&#xff1f;- 因為python版本問題&#xff0c;最好的解決辦法就是利用conda來建立一個虛擬的環境 第一步 創建新的虛擬環境 打開conda命令行&#xff0c;也就是anaconda prompt輸入下面的命令 conda create --name d2l pytho…

【Python】從基礎到進階(二):了解Python語言基礎以及數據類型轉換、基礎輸入輸出

&#x1f525; 個人主頁&#xff1a;空白詩 文章目錄 一、引言二、基本數據類型轉換1. 隱式轉換2. 顯式轉換 三、基本輸入輸出1. 輸入&#xff08;input&#xff09;2. 輸出&#xff08;print&#xff09;3. 案例&#xff1a;輸入姓名、年齡、身高以及體重&#xff0c;計算BMI指…

《從零開始學習大語言模型》專欄來啦!

歡迎來到我的專欄LLM-from-scratch&#xff0c;這是一個致力于從零開始學習和掌握大語言模型的知識寶庫。無論你是剛入門的新手&#xff0c;還是想要深入了解的高級用戶&#xff0c;這里都有適合你的內容。以下是專欄的精彩章節&#xff1a; LLM-from-scratch-1.圖解tokenizat…