spring boot讀取配置文件
阿新 • • 發佈:2018-03-10
text 位置 pub tail fig one pat stc path
一、springboot配置文件
核心配置文件和自定義配置文件。核心配置文件是指在resources根目錄下的application.properties
或application.yml
配置文 件。為了不破壞核心文件的原生態,但又需要有自定義的配置信息存在,一般情況下會選擇自定義配置文件來放這些自定義
信息,這裏在resources/config
目錄下創建配置文件config.properties
二、核心配置文件的兩種讀取方法
核心配置文件內容:
server: port: 8081 context-path: /boot service: name: freya
(1)@Value("${鍵名}")
RestController public class HelloController { @Value("${service.name}") private String name; @RequestMapping(value = "/hello") public String hello() { return "hello spring boot! " + name; } }
(2)使用Environment,env.getProperty("鍵名")
@RestController public class HelloController { @Autowired private Environment env; @RequestMapping(value = "/hello") public String hello() { return "hello spring boot! " + env.getProperty("service.name"); } }
三、自定義配置文件的讀取方法
自定義的config.properties的內容如下:
project.version=1.0-SNAPSHOT project.name=boot
創建實體類MyConfig。
註意:springboot1.5版本以下@ConfigurationProperties有兩個屬性locations(指定配置文件的所在位置),
prefix(指定配置文件中鍵名稱的前綴)。但是1.5版本及以上的版本取消了locations屬性,為了指定配置文件的
位置,使用@PropertySource(value = "自定義配置文件路徑")指定文件所在位置。
@Component @ConfigurationProperties(prefix = "project") @PropertySource(value = "classpath:config/config.properties") 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; } }
@RestController public class HelloController { @Autowired private MyConfig myConfig; @RequestMapping(value = "/hello") public String hello() { return "hello spring boot! " myConfig.getVersion() + " " + myConfig.getName() ; } }
spring boot讀取配置文件