使用反射机制调用service层方法Autowired标签自动注入失败

问题出现的背景:在做一个反射调用的时候,进入了Controller层调用service的方法,却发现原先用Autowired标签自动注入的service全部都为null,随后就喜闻乐见地出现了空指针异常。

解决办法:

为了不影响原来代码的使用,加了一个判断 if(service == null) service =(XXXService) ContextLoader.getCurrentWebApplicationContext().getBean("XXXServiceImpl");

默认情况下,Spring将组件的class的第一个字母变成小写,来作为自动扫描组件的名称,比如将BaseService变成baseService,所以你可以直接用这个更名字调用组件。

你可能感兴趣的:(Spring)