springboot如何讀取自定義配置項

咱們springboot項目有本身默認的配置文件,通常地由application.yml和bootstrap.yml組成,前者是模塊的配置,後者是微服務的配置,後臺比前者先被框架加載。java

咱們有時須要本身定義配置,可能不是簡單的字符串,它多是一個對象,對象裏有具體的配置段,它也是application.yml的一部分,你能夠把本身的代碼添加上,固然你也能夠新建全新的文件。spring

例如,有一個配置由name和version組成,咱們在application.yml裏能夠把它定義成project元素下面的,這裏的project叫前綴,咱們在定義配置實體時用來修飾它。bootstrap

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來進行注入,以下代碼展示了兩種springboot

注入的方式。app

@RestController
public class HomeController {
     @Autowired
     MyConfig config;
     @Value("${lind.name}")
     String app;
     @RequestMapping("/")
     public String Index() {
            return "HOME=" + config.getName() + "app=" + app;
     }
}
相關文章
相關標籤/搜索