SpringBoot(二)_專案屬性配置

qianby發表於2021-09-09

修改埠

在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.bootspring-boot-configuration-processortrue

(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/,如需轉載,請註明出處,否則將追究法律責任。

相關文章