急需帮助!spring属性注入的问题,help
我的java代码如下:
public class CertAction extends UniformAction {
private CertService certService;
public void setCertService(CertService certService) {
this.certService = certService;
System.out.println("certService = " + certService);
}
....
这个UniformAction是我们公司自己的,类似于struts可以在action-config.xml中配置请求转发。
然后我想注入CertService,程序启动时在setCertService方法中打印出了:certService = com.essp.uas.impl.CertServiceImpl@1b0d2d0,我认为已经注入了。
但在通过页面访问CertAction时,却抛
java.lang.NullPointerException,断点certService为null。
请问这种情况一般是什么原因,我猜想会不会于CertAction 的实现机制有关~
以下还有spring配置文件:
<bean id="certService" class="com.essp.uas.impl.CertServiceImpl">
<property name="ldapTemplate"><ref bean="ldapTemplate"/></property>
</bean>
<bean id="certAction" class="com.essp.uas.action.CertAction">
<property name="certService" ref="certService"/>
</bean>
------解决方案--------------------
能用spring加载struts托管bean?
你用倒了吧,struts加载spring bean吧
应该是bean通过spring加载,然后struts来调用spring的bean
------解决方案--------------------
应该是这样,可能你页面访问的action实例是由struts本身创建的而不是通过spring获取的;spring的注入只在他自己的bean之间有效,不然你就通过spring上下文去获取service吧