springmvc 使用@resource 注入对象时null,getbean却是可以的

@Controller
public class TestController extends MultiActionController{
@Resource(name="testManagerImpl")
private ITestManager testManager;

public ModelAndView printTrack(HttpServletRequest request, HttpServletResponse response){
WebApplicationContext springContext = WebApplicationContextUtils.getWebApplicationContext(request.getSession().getServletContext());
System.out.println("++++++++++++++++++++");
((ITestManager)springContext.getBean("testManagerImpl")).printState();
System.out.println("-----------------------------");
testManager.printState();
return new ModelAndView("main");
}
}

结果输出的时候, ((ITestManager)springContext.getBean("testManagerImpl")).printState();可以正常执行'
使用 @Resource(name="testManagerImpl")注解的部分却是null
加了getter,setter一样空指针错误
在service层注入dao层是可以正常的
就是在controller层注入service层的内容时有问题
查了很多资料,说是配置的问题
求大神指教

第1个回答  2013-12-17
serviceImpl的类上是否加了@service注解。追问

serviceImpl 有@service
getbean可以正常使用,说明已经被spring加载了

追答

@Resource(name="testManagerImpl")
private ITestManager testManager;
把name="xxx"的Impl去掉

追问

去掉impl会提示找不到testManager的实例

相似回答