一、介绍
1、介绍
注意这是spring注解,所以只能用在spring托管的类中,即该类也是springbean(有Componet、Service等注解)。
2、语法
- 注解可以应用于字段、方法、构造函数参数和注解类型中。
- 在使用
${}
语法从属性文件中获取值时,如果属性未定义,会抛出错误。可以通过指定默认值来避免此问题,例如@Value("${str2:defaultValue}")
。 - 对于操作系统属性,不能使用
${}
语法,而应使用#{}
语法来获取。
3、使用方法
(1)非static变量
直接在变量上使用该注解
(2)static变量
private static boolean enableOptimize;
@Value("${cci.enable.optimize:true}")
public void setOptimize(boolean enableOptimize) {
this.enableOptimize = enableOptimize;
}
之后即可使用该变量 enableOptimize。
4、demo
(1)设置默认值
//表示my.test.enable从配置文件中读不到,则默认为false
@Value("${my.test.enable:false}")
private Boolean enable;
//表示my.test.enable从配置文件中读不到,则提供默认值
@Value("${my.test.codes:zs,ls,ww}")
private List<String> codes;
my.test.codes = user,role,menu
@Value("${my.test.codes:myMenu,myRole}")
private String codes;
@RequestMapping("/test")
public String test(@Valid ParamDTO paramDTO) {
return codes;
}
有配置返回:
无配置返回: