我是靠谱客的博主 雪白玉米,最近开发中收集的这篇文章主要介绍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;
}

以上为个人经验,希望能给大家一个参考,也希望大家多多支持靠谱客。

最后

以上就是雪白玉米为你收集整理的spring框架下@value注解属性static无法获取值问题的全部内容,希望文章能够帮你解决spring框架下@value注解属性static无法获取值问题所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(96)

评论列表共有 0 条评论

立即
投稿
返回
顶部