使用struts2,spring3 框架
实现类 @Service
@Transactional
public class CorpInfoMgrImpl {}
Action类中注入这个对象
@Autowired
private CorpInfoMgrImpl corpInfoMgr;
使用时抛异常 corpInfoMgr 是NULL
------解决方案--------------------
应该是配置问题,在applicationContext中加<context:component-scan base-package="com.urcompany.project" />,让spring在容器启动时扫描package进行bean的生成和注入。
------解决方案--------------------
是不是你在Struts的Action类里加Transaction调用?
如果是我说的这个情况,那根源是Struts和Spring使用了不同的Classloader来加载对象,导致不能注入。
其中一个解决版本就是,你定义Action的xml里不要通过class不要直接设置为类名,而是用spring的id。
------解决方案--------------------
private CorpInfoMgrImpl corpInfoMgr;
->
private CorpInfoMar corpInfoMgr;
依赖不要依赖实现类,要用接口,我不敢说这么改一定能解决你的问题,但是这很有可能是个问题。
------解决方案--------------------
你先确认问题的原因 比如现在的问题是<context:component-scan base-package="com.urcompany.project" />没有起作用,还是你没开启
<context:annotation-config/>
还是只有CorpInfoMgrImpl 属性无法注入
光是自动@Autowired会出问题么 你也可以先别用自动装载