1. 程式人生 > >springboot~讀取自定義配置項

springboot~讀取自定義配置項

我們springboot專案有自己預設的配置檔案,一般地由application.yml和bootstrap.yml組成,前者是模組的配置,後者是微服務的配置,後臺比前者先被框架載入。

我們有時需要自己定義配置,可能不是簡單的字串,它可能是一個物件,物件裡有具體的配置段,它也是application.yml的一部分,你可以把自己的程式碼新增上,當然你也可以新建全新的檔案。

例如,有一個配置由name和version組成,我們在application.yml裡可以把它定義成project元素下面的,這裡的project叫字首,我們在定義配置實體時用來修飾它。

package test.lind.javaLindDay.utilDemo;

import org.springframework.boot.context.properties.ConfigurationProperties; import org.springframework.context.annotation.PropertySource; import org.springframework.stereotype.Component; @Component @ConfigurationProperties(prefix = "project") @PropertySource(value = "classpath:config.yml") public
class MyConfig { private String version; private String name; public String getVersion() { return version; } public void setVersion(String version) { this.version = version; } public String getName() { return name; } public void setName(String name) {
this.name = name; } }

而其中的註解@component表示可以使用@Autowired注入!如果配置裡只是一個字串的項,我們也可以使用@Value來進行注入,如下程式碼展現了兩種

注入的方式。

@RestController
public class HomeController {
  @Autowired
  MyConfig config;

  @Value("${lind.name}")
  String app;

  @RequestMapping("/")
  public String Index() {
    return "HOME=" + config.getName() + "app=" + app;
  }
}

感謝各位閱讀!