Spring Boot使用了一个全局的配置文件application.properties或者application.yml,放在src/main/resources目录下或者类路径的/config下。Sping Boot的全局配置文件的作用是对一些默认配置的配置值进行修改
新建一个springboot的项目,在application.properties中添加
demo.name=zhangsan
demo.mobile=0123456789
直接在要使用的地方通过注解@Value(value=”${config.name}”)就可以绑定到你想要的属性上面
例如:创建 DemoController,添加如下内容
@RestController
public class DemoController {
@Value("${demo.name}")
private String name;
@Value("${demo.mobile}")
private String mobile;
@RequestMapping(value = "config1")
public String config1(){
return name+"/"+mobile;
}
}
启动项目,访问 http://localhost:8080/config1
有时候属性太多了,一个个绑定到属性字段上太累,官方提倡绑定一个对象的bean,这里我们建一个ConfigBean.java类,使用注解@ConfigurationProperties(prefix = “demo”)来指明
@Component
@ConfigurationProperties(prefix = "demo")
public class ConfigBean {
private String name;
private String mobile;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getMobile() {
return mobile;
}
public void setMobile(String mobile) {
this.mobile = mobile;
}
}
修改DemoController,添加
@Autowired
ConfigBean configBean;
@RequestMapping(value = "config2")
public String config2(){
return configBean.getName()+"/"+configBean.getMobile();
}
启动项目访问 http://localhost:8080/config2
自定义配置文件位置,在resource下创建config文件夹,在config文件夹下床架demo.properties 并添加如下内容
cionfig.demo.name=cionfig.zhangsan
cionfig.demo.mobile=cionfig.0123456789
创建ConfigDemoBean类
@Component
@PropertySource("config/demo.properties")
@ConfigurationProperties(prefix = "cionfig.demo")
public class ConfigDemoBean {
private String name;
private String mobile;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getMobile() {
return mobile;
}
public void setMobile(String mobile) {
this.mobile = mobile;
}
}
修改DemoController
@Autowired
ConfigDemoBean configDemoBean;
@RequestMapping(value = "configDemoBean")
public String configDemo(){
return configDemoBean.getName()+"/"+configDemoBean.getMobile();
}
启动项目访问: http://localhost:8080/configDemoBean
@PropertySource不支持yml文件读取。