struts2与spring集成时,关于Action类中成员bean自动注入的问题
2014-07-08 16:12
501 查看
public class LoginAction extends ActionSupport{
private LoginService loginService;
public void setLoginService(LoginService loginService) {
System.out.println("init Service......");
this.loginService = loginService;
}
spring配置
<bean id="loginService" class="org.xxxxx.services.impl.LoginServiceImpl"></bean>
<bean id="loginAction" class="org.xxxxx.action.LoginAction">
</bean>
struts配置
<action name="login" class="org.xxxxx.action.LoginAction">
<result name="success">/result.jsp</result>
<result name="error">/login.jsp</result>
</action>
注意看以上两个红线部分,在struts.xml中action指定的class像上面这种方式指定全类路径名的话,这时,不论spring配置文件中的<bean id="loginAction" class="org.xxxxx.action.LoginAction"></bean>有没有指定<property name="loginService" ref="loginService"/>,只要有<bean id="loginService" .../>存在,并且这个ID的名字与Action中成员bean的名字一致,当实例化Action类时,会一并将loginService的实例注入
如果<action name="login" class="loginAction">这里的class指定spring配置文件中的bean的id,则不会出现loginService自动注入问题,而是根据<bean id="loginAction" class="org.xxxxx.action.LoginAction"></bean>有没有指定<property name="loginService" ref="loginService"/>来决定,有<property
name="loginService" ref="loginService"/>的指定,则实例化Action类时,会一并将loginService实例注入,没有配置property,loginService则为空
private LoginService loginService;
public void setLoginService(LoginService loginService) {
System.out.println("init Service......");
this.loginService = loginService;
}
spring配置
<bean id="loginService" class="org.xxxxx.services.impl.LoginServiceImpl"></bean>
<bean id="loginAction" class="org.xxxxx.action.LoginAction">
</bean>
struts配置
<action name="login" class="org.xxxxx.action.LoginAction">
<result name="success">/result.jsp</result>
<result name="error">/login.jsp</result>
</action>
注意看以上两个红线部分,在struts.xml中action指定的class像上面这种方式指定全类路径名的话,这时,不论spring配置文件中的<bean id="loginAction" class="org.xxxxx.action.LoginAction"></bean>有没有指定<property name="loginService" ref="loginService"/>,只要有<bean id="loginService" .../>存在,并且这个ID的名字与Action中成员bean的名字一致,当实例化Action类时,会一并将loginService的实例注入
如果<action name="login" class="loginAction">这里的class指定spring配置文件中的bean的id,则不会出现loginService自动注入问题,而是根据<bean id="loginAction" class="org.xxxxx.action.LoginAction"></bean>有没有指定<property name="loginService" ref="loginService"/>来决定,有<property
name="loginService" ref="loginService"/>的指定,则实例化Action类时,会一并将loginService实例注入,没有配置property,loginService则为空
相关文章推荐
- struts2与spring集成时,关于Action类中成员bean自动注入的问题
- struts2与spring集成时,关于Action类中成员bean自动注入的问题
- struts2与spring集成时,关于Action类中成员bean自动注入的问题
- struts2与spring集成时,关于class属性及成员bean自动注入的问题
- struts2与spring集成时,关于class属性及成员bean自动注入的问题
- struts2与spring集成时,关于class属性及成员bean自动注入的问题
- 关于spring boot自动注入出现Consider defining a bean of type 'xxx' in your configuration问题解决方案
- 关于spring boot自动注入出现Consider defining a bean of type 'xxx' in your configuration问题解决方案 标签: spring 201
- 关于spring boot自动注入出现Consider defining a bean of type 'xxx' in your configuration问题解决方案
- 关于spring boot无法自动注入bean问题解决方案
- 关于SpringBoot404, bean无法注入的问题(与文件包位置有关)改变自动扫描的包
- SSH整合问题:struts2-spring-plugin自动注入action的属性所产生的问题
- 关于非Spring管理下的Bean通过反射在newInstance()下的自动注入问题
- Struts2 + Spring Action注入问题探讨
- 关于spring3无法注入struts2的action
- Spring+Quartz 定时任务无法自动注入bean的问题
- 解决Spring+Quartz无法自动注入bean问题
- Spring4.X+Quartz2.X无法自动注入bean问题
- 关于Spring中为静态static的@Resource自动注入失败的问题
- 解决Spring+Quartz无法自动注入bean问题