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;
  }
}

感謝各位閱讀!

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM