@Value("${XXX}") 在普通类中不能获取到配置文件里的值

  • 今天遇到一个问题,在使用 @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;
 	  }
  }
原文地址:https://www.cnblogs.com/mengzhao/p/13921124.html