问题描述:
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());