SpringBoot(二)_專案屬性配置
修改埠
在main/resources/application.properties修改埠
server.port=8088
此時啟動訪問localhost:8088/hello 就會看到
Hello Spring Boot!
使用yml檔案替換properties 檔案
(1)在main/resources 檔案下新建一個application.yml 檔案
(2)在yml檔案中修改埠
server:
port: 8099
(3) 刪除掉application.properties檔案,只保留yml檔案
(4) 執行程式,此時訪問8099埠即可
獲取配置檔案的值
(1) 在application.yml 檔案中,編寫上其他內容
server:
port: 8099
name: maomao
age: 18
(2) 利用@Value 註解
@RestController
public class HelloController {
@Value("${name}")
private String name;
@Value("${age}")
private int age;
@RequestMapping(value = {"/hello"},method = RequestMethod.GET)
public String say(){
return name+age;
}
}
(3)訪問8099埠,就獲取到值
maomao 18
使用自定義配置類
如果屬性很多,我們每個屬性都需要寫,顯得有些費事,我們可以利用自定義配置類進行獲取
(1) 修改yml 檔案
server:
port: 8099
girl:
name: maomao
age: 18
(2) 建立properties/GirlProperties.java
@Component
@ConfigurationProperties(prefix = "girl")
public class GirlProperties {
private String name;
private int age;
//get和set方法省略
}
(3) 我在使用@ConfigurationProperties 這個註解時,提示找不到class,需在pom檔案中引入
org.springframework.boot spring-boot-configuration-processor true
(4) 修改controller檔案
@RestController
public class HelloController {
@Resource
private GirlProperties girlProperties;
@RequestMapping(value = {"/hello"},method = RequestMethod.GET)
public String say(){
return girlProperties.getName();
}
}
(5)驗證結果
maomao
開發環境和生成環境配置不同的問題
這個問題經常見,比如我們開發環境 name 是maomao ,生成環境是 毛毛,我們大部分都是修改配置檔案,但是這樣還是很麻煩。
(1) 複製2個yml檔案,分別是application-dev.yml (開發環境) application-prod.yml(生產環境)
(2) 修改application-prod.yml(生產環境)檔案
server:
port: 8088
girl:
name: 毛毛
age: 18
(3) application-dev.yml (開發環境)檔案內容
server:
port: 8099
girl:
name: maomao
age: 18
(4)application.yml檔案內容,這個就代表使用dev的配置檔案
spring:
profiles:
active: dev
(5)上篇文章講過java -jar 的啟動方式
- 先執行 mvn install
- 在執行啟動 java -jar girl-0.0.1-SNAPSHOT.jar --spring.profiles.active=prod
(6)此時就是訪問的prod 的配置8088,(注意我們配置的application.yml 中用的是dev 這個配置檔案,但是我們啟動的時候加上後面的引數就自動切換到 prod 檔案上)
總結
在使用yml進行配置更加簡單方便,使用java -jar 啟動 加上引數,就可以避免我們來回修改配置檔案,有漏掉的情況。
原始碼下載:github
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/3549/viewspace-2802517/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- SpringBoot配置屬性二Spring Boot
- SpringBoot基礎學習(二) SpringBoot全域性配置檔案及配置檔案屬性值注入Spring Boot
- 尋找寫程式碼感覺(二)之 Spring Boot 專案屬性配置Spring Boot
- springboot3+vue3(十)springboot屬性配置方式Spring BootVue
- SpringBoot專案配置檔案加密Spring Boot加密
- Duilib的使用(優化MFC介面)之 配置專案屬性UI優化
- 屬性配置檔案詳解(2)
- SpringBoot入門(二):日誌及自定義屬性Spring Boot
- 配置springboot專案使用外部tomcatSpring BootTomcat
- SpringBoot專案配置檔案佔位符Spring Boot
- application.yml檔案配置springboot專案APPSpring Boot
- SpringBoot專案取消資料庫配置Spring Boot資料庫
- SpringBoot專案中獲取配置檔案的配置資訊Spring Boot
- Linux的檔案屬性和目錄配置Linux
- Java程式碼修改yml配置檔案屬性Java
- SpringBoot專案使用Nacos作為配置中心Spring Boot
- springboot專案配置logback日誌系統Spring Boot
- SpringBoot專案配置檔案中密碼的加密Spring Boot密碼加密
- springboot報錯無法讀取配置檔案中的屬性:Could not resolve placeholder ‘xxxx‘ in value “${xxxx}Spring Boot
- Spring YAML與屬性檔案配置檔案對比 | BaeldungSpringYAML
- QT下的darknet-GPU專案屬性QTGPU
- SpringBoot專案中透過程式修改Nacos配置Spring Boot
- Vue專案釋出到springboot中的系列配置VueSpring Boot
- 檔案屬性
- 給你的SpringBoot專案定製一個牛年專屬banner吧Spring Boot
- SpringBoot第二篇:配置檔案詳解一Spring Boot
- SpringBoot(二)自動配置Spring Boot
- PC印表機屬性配置
- 【SpringBoot】配置檔案Spring Boot
- Springboot配置檔案Spring Boot
- SpringBoot(配置檔案)Spring Boot
- Springboot2專案配置(熱部署+war+外部tomcat+外部配置檔案)Spring Boot熱部署Tomcat
- 檔案的屬性
- Linux檔案屬性Linux
- 使用 Docker 開發 PHP 專案(二):配置DockerPHP
- SpringBoot學習日記(二)多模組專案Spring Boot
- Springboot專案中需整合的依賴集和檔案配置Spring Boot
- c++基本配置屬性頁C++