但是OrderRequest中orderService为null。(在controller层中注入service接口,在service层中注入orderService是有值的),尝试可很多解决办法,最后发现,原来spring自定义的类实例化时也需要用注入的方式,不能用new,否则脱离了spring的管理。改成如下方式就可以了:
@Autowired
private OrderRequest<Request1> request1;
@Autowired
private OrderRequest<Request2> request2;
public void method1(Request1 request ) {
Order result = request1.orderInfoSave(request);
}
public void method2(Request2 request ) {
Order result = request2.orderInfoSave(request);
}
总结:
如果在A类中的属性b有@Autowired这样的注解,则类A的实例化不能用new 操作,必须要用注入的方式,否则脱离了spring的管理;
解决方法:
调用ApplicationContextUtil.getApplicationContext().getBean("XXX", XXX.class);方法获取component
Linux公社的RSS地址:https://www.linuxidc.com/rssFeed.aspx