- 今天遇到一个问题,在使用
@Value("${}")
的时候,获取的值为空,查了资料才知道 @Value("${}")
这个东西不能用在普通类里面。所谓普通类,就是指没有被spring管理的类,另外, @Autowired
也不可以在普通类中使用。
- 解决方法
- 创建一个普通类,使用
@Component
修饰,让它变成由spring管理的类。
- 变量可以直接用
static
来修饰,后面用的时候可以直接使用类名.变量名
获取该值。
- 代码
@Component
public class FileComponent {
public static Boolean enabledInline;
public static String inlineWebUrl;
@Value("${file.upload.enabledInline}")
public void setEnabledInline(Boolean enabledInline) {
this.enabledInline = enabledInline;
}
@Value("${file.upload.inlineUrl}")
public void setInlineWebUrl(String inlineWebUrl) {
this.inlineWebUrl = inlineWebUrl;
}
}