spring框架下@value注解属性static无法获取值问题
@value注解属性static无法获取值
@Value("${appId}") private static String appid;
这样是无法直接获得值的
解决办法
需要这样写
private static String appid; @Value("${appId}") public void setAppid(String appId) { this.appid = appid; }
@Value注解取不到值的几种情况
在spring的框架中,我们经常使用@Value注解来获取定义在application.properties的属性值,正常情况下是可以轻松的获取到值的,但是有几种特殊情况下是获取不到值的,在这记录下,以防止以后犯错误。正常获取的用法如下:
在application.properties中定义一个属性值:
正常情况下在代码里面这样获取:
@Value("${ftpIP}") private String ftpIP;
几种获取不到值的特殊情况如下
情况一:使用static或者final修饰了tagValue
@Value("${ftpIP}") private static String ftpIP; @Value("${ftpUserName}") private final String ftpUserName;
情况二:用该注解的类上面没有加注解,即不能被spring管理
public class FTPManagerService { @Value("${ftpIP}") private static String ftpIP; }
情况三:类被new新建了实例,而没有使用@Autowired
public class FTPManagerService { @Value("${ftpIP}") private static String ftpIP; } public class Test{ /*错误用法*/ FTPManagerService f = new FTPManagerService (); /*正确用法*/ @Autowired FTPManagerService f2; }
以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。
相关文章
maven中no main manifest attribute的问题解决
本文主要介绍了maven中no main manifest attribute的问题解决,这个错误通常意味着Spring Boot应用在启动时遇到了问题,下面就来具体介绍一下,感兴趣的可以了解一下2024-08-08javaSystem.out.println()输出byte[]、char[]异常的问题详析
这篇文章主要给大家介绍了关于javaSystem.out.println()输出byte[]、char[]异常问题的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面来一起看看啊2019-01-01Java开发HashMap key必须实现hashCode equals方法原理
这篇文章主要为大家介绍了Java开发HashMap key必须实现hashCode equals方法原理详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪2023-03-03Java设计模式之观察者模式observer pattern详解
这篇文章主要介绍了Java设计模式之观察者模式observer pattern详解,当一个对象发生数据变化时,通知其他相关的一系列对象,接受到通知的对象根据该对象的变化进行相应处理以响应变化的过程,需要的朋友可以参考下2023-12-12Java 如何实现POST(x-www-form-urlencoded)请求
这篇文章主要介绍了Java 实现POST(x-www-form-urlencoded)请求,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教2021-10-10
最新评论