@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;
 	  }
  }


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM