- 今天遇到一個問題,在使用
@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;
}
}