springboot提供了自定义配置文件中的属性,在bin中可以值获取定义的属性值。
比如我们在配置文件中定义了如下属性
code.name='hello'
在bin中我们可以使用注解@Value来获取这个属性的值,赋值在相应的属性上
@Value("${code.name}")
private String name;
需要注意的是,我们赋值的属性如果是static修饰的话,需要使用另一种方式进行赋值,因为静态属性加载完成之后,属性并没有赋值成功。需要写一个set方法来完成
public class test{
private static String name;
@Value("${code.name}")
public void setName(String name){
test.name=name
}
}
如果bin中需要使用赋值的属性太多的话,我们可以单独提取出一个工具类,在这个类中添加注解@ConfigurationProperties
@ConfigurationProperties("code")
public class propertiesUtil{
private String name;
public String getName(){
return this.name
}
}
当我们要使用这个属性的时候可以直接使用getName的方法;
同时需要在springboot的启动类上添加注解@EnableConfigurationProperties
@SpringBootApplication
@EnableConfigurationProperties({propertiesUtil.class})
public class WebApplication extends SpringBootServletInitializer{
}