spring框架下@value注解属性static无法获取值问题
时间:2022-06-12 09:35:10|栏目:JAVA代码|点击: 次
@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;
}
栏 目:JAVA代码
下一篇:Spring Boot Thymeleaf实现国际化的方法详解
本文标题:spring框架下@value注解属性static无法获取值问题
本文地址:http://www.codeinn.net/misctech/204540.html


阅读排行
- 1Caused by: java.lang.ClassNotFoundException: org.objectweb.asm.Type异常
- 2Java Swing组件BoxLayout布局用法示例
- 3Java邮件发送程序(可以同时发给多个地址、可以带附件)
- 4java中-jar 与nohup的对比
- 5深入理解Java中的克隆
- 6Java中自定义异常详解及实例代码
- 7解析SpringSecurity+JWT认证流程实现
- 8java读取excel文件的两种方法
- 9深入解析java虚拟机
- 10spring boot里增加表单验证hibernate-validator并在freemarker模板里显示错误信息(推荐)




