Spring @Autowired注解在非Controller/Service中注入为null

参考:https://blog.csdn.net/qq_35056292/article/details/78430777

问题出现:
在一个非controller/service类中,我需要注入Config类

@Autowired
MyConfig myConfig;

public int getUrl(){
    String url=myConfig.getUrl;
}

这时候,myConfig是null

解决方法:

@Component  // 关键1,将该工具类注册为组件
public class TokenUtil {
    @Autowired
    MyConfig myConfig;

    public static TokenUtil tokenUtil;  // 关键2

    public TokenUtil() {
    }

    // 关键3
    @PostConstruct
    public void init() {
        tokenUtil = this;
        tokenUtil.tokenRepository = this.tokenRepository;
    }

使用的时候,改成

public String getUrl(){
        MyConfig MyConfig=TokenUtil.tokenUtil.myConfig;
        String url= myConfig.getUrl;
}
posted @ 2018-12-25 14:33  周景白炎  阅读(1543)  评论(0编辑  收藏  举报