springboot @Autowired 空指针异常问题处理

问题描述:

Service服务类中使用@Autowired申明了一个成员变量a,使用a时出现空指针异常

java.lang.NullPointerException: null

 

问题代码:

AdUserLoginServiceImpl apUserLoginServiceImpl = new AdUserLoginServiceImpl();

 

问题原因:

由于使用Spring的IOC容器,因此当我采用new方法来实例化服务对象后,实例中的成员变量并不能够被Spring所管理并自动装载。

 

解决方法:

方法一、

不要使用 new 方法实例化对象,采用@Autowired注释

 

方法二、

在服务类中申明静态成员变量来维持引用

    /* 维持引用的静态变量 */
    private static AdUserLoginServiceImpl proxy;

    /* 本地静态变量维持引用 */
    @PostConstruct
    public void init (){
        proxy = this;
    }

使用方法

// 查询用户
AdUser dbUser = proxy.adUserMapper.selectByUserName(user.getName());

 

posted @ 2021-01-06 11:16  hhhakulamatata  阅读(656)  评论(0)    收藏  举报