@autowired注入静态变量

浪子不回头ぞ 提交于 2019-12-30 15:14:48


@Autowired
private static UserRepository userRepository;

当我们直接对静态变量进行注入的时候,会报:NullPointerException ;

 

解决方法:为变量添加get set方法

    private static UserRepository userRepository;  //get方法
    public static UserRepository getUserRepository(){
        return userRepository;
    }  //set方法
    @Autowired
    public void setUserRepository(UserRepository userRepository){
        ThreadParameterUtil.userRepository=userRepository;
    }    

注意:  这里的set方法不是静态的,否则会出现和上边一样的问题,还是无法实例化对象;

       UserRepository 类上一定要添加@Component注解或者类似注解,可以让Spring容器扫描到;

 

 
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!