Springboot读取配置文件
转载自:https://blog.csdn.net/freyaalisa/article/details/78837184
与SpringMVC 读取不一样
一、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() ;
}
}
新建的自定义的config文件,放置的路径为
还没有评论,来说两句吧...