1. 程式人生 > >spring-boot-route(二)讀取配置檔案的幾種方式

spring-boot-route(二)讀取配置檔案的幾種方式

Spring Boot提供了兩種格式的配置檔案,分別是`properties` 和 `yml`。Spring Boot最大的特點就是自動化配置,如果我們想修改自動化配置的預設值,就可以通過配置檔案來指定自己伺服器相關的引數。 配置檔案集約管理了配置資訊,如果把配置引數寫到Java程式碼中,維護起來非常不方便,如果使用配置檔案,我們可以統一管理,統一修改。我比較推薦使用`yml`格式的配置檔案,`YAML`是專門用來寫配置檔案的語言,通常以yml為字尾,它的結構非常清晰,更易於閱讀。 將自定義的配置寫在配置檔案中後,如果想要在java程式碼中使用配置,這時候就需要讀取配置檔案,讀取配置檔案的方式有三種,我們挨個介紹一下如果進行讀取! ### 第一種:使用@Value註解讀取 第一步:在配置檔案中增加加入以下配置 ```yml config: name: Java旅途 desc: spring-boot-route ``` 第二部:新建Java類讀取配置資訊 ```java @RestController public class GetValue { @Value("${config.name}") private String name; @Value("${config.desc}") private String desc; @GetMapping("getValue") public String getValue(){ return "name="+name+";desc="+desc; } } ``` @Value註解使用簡單,適合單個引數的注入。 ### 第二種:使用@ConfigurationProperties讀取 @ConfigurationProperties與@Value相比,更加適合讀取陣列型別的引數。 ### 1. 獲取單個物件 第一步:在yml檔案中新建物件型別的配置資訊 ```yml configs: config: name: Java旅途 desc: spring-boot-route ``` 第二步:新建實體對映配置資訊 ```java @Component @ConfigurationProperties(prefix = "configs.config") @Data public class Config { private String name; private String desc; } ``` 第三步:新建類測試是否獲取到引數 ```java @RestController public class GetConfigurationProperties { @Autowired private Config config; @GetMapping("/getConfig") public String getConfig(){ return config.getName()+";"+config.getDesc(); } } ``` ### 2. 獲取物件集合 第一步:在yml檔案中新建陣列型別的引數 ```yml configs: config: - name: Java旅途 desc: spring-boot-route - name: javatrip desc: spring-boot-yml ``` 第二步:新建實體對映配置資訊 ```java @Component @ConfigurationProperties(prefix = "configarr") @Data public class Configs { priv