反射调用方法时,里面的dao层注解失败。空指针异常。
原因很简单,反射和new有点像。没通过spring管理。
解决方案1:
@Service
public class Service {
@Autowired
private Mapper mapper;
//新增静态变量
public static Service proxy;
@PostConstruct
public void init() {
proxy = this;
}
}
调用用的时候:proxy.mapper.XXXX
@PostConstruct说明
被@PostConstruct修饰的方法会在服务器加载Servlet的时候运行,并且只会被服务器调用一次,类似于Serclet的inti()方法。被@PostConstruct修饰的方法会在构造函数之后,init()方法之前运行。
目前觉得比较好的解决方案。