`
gao36951
  • 浏览: 18129 次
  • 性别: Icon_minigender_1
文章分类
社区版块
存档分类
最新评论

struts2与spring集成时,关于Action类中成员bean自动注入的问题

 
阅读更多

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则为空

分享到:
评论

相关推荐

    整合struts2和spring源代码(可以直接在tomcat中运行)

    Struts2与Spring的集成要用到Spring插件包struts2-spring-plugin-x-x-x.jar,这个包是同Struts2一起发布的。Spring插件是通过覆盖(override)Struts2的ObjectFactory来增强核心框架对象的创建。当创建一个对象的...

    struts2+spring+hibernate整合示例

    b 在struts.xml中添加action,使用通配符的方式 , 注意这里和单独struts2不同的地方: class属性指向的是bean 的 id ,这里我们配置bean采用spring ioc注解的方式, 所以默认的bean的id 为 类名(首字母小写) ...

    东城大学在线答疑系统struts2+spring带sql2005数据库文件

    Struts和Spring的集成:将Struts的Action作为Spring当中的受管Bean,通过依赖注入将完成业务功能的Bean注入到Action中,使得Action很容易的访问到完成业务的Bean,具体参看前面介绍的一些配置文件。

    struts2-spring-plugin-2.5.13.jar

    搭建struts2 + spring框架时需要使用的关联jar struts.xml中action的属性class引用applicationContext中bean的属性id指向的值

    maven3+struts2+spring+ibatis

    这个属于与Spring整合的问题,Spring容器在初始化对象的时候会根据bean的scope配置来考虑是重新建立一个对象,还是继续使用原来的对象,拿struts2的action的bean来说,如果scope这个参数没有配置,默认就是单例,即...

    Struts2 in action中文版

    9.1 为什么在Struts 2中使用Spring 196 9.1.1 依赖注入能做些什么 197 9.1.2 Spring如何管理对象和注入依赖 199 9.1.3 使用接口隐藏实现 200 9.2 将Spring添加到Struts 2 202 9.2.1 让Spring管理动作、拦截器和结果...

    Struts2 + Spring2.5 + JFreeChart 实现的投票系统,2008年高考作文评价投票

    知识点:struts2,struts2模型驱动,Java反射,struts2插件使用,struts2与JFreeChart的集成开发,JFreeChart图表 1、开发环境:MyEclipse6.0, Struts 2.0.11, Spring2.5.4, struts2-spring-plugin-2.0.11.1,...

    第17讲 Spring、hibernate和Struts2的整合

    ②把action交给spring管理,即在spring配置文件中定义action Bean并使用依赖注入功能在action中注入业务Bean,同时修改作用域。 ③在struts.xml中的class使用第②步中所定义的action Bean 的id属性值。

    struts1.2+spring2.0+hibernate3.1框架整合实例

    采用在web.xml中加载spring配置文件的方法降低struts和spring的耦合度,使用自定义的MyDelegatingRequestProcessor类来代替spring的DelegatingRequestProcessor类来解决spring中action的bean的重复配置问题。...

    ssh2(struts2+spring2.5+hibernate3.3)自动生成模版

    {自定义的存放包}目录:4个xml文件(applicationContext-dao.xml(dao注入配置),applicationContext-service.xml(service注入配置),action-servlet.xml(action注入配置),struts-{自定义的存放包名}.xml(struts2的...

    Spring in Action(第二版 中文高清版).part2

    12.1.3 在Spring 2中注入JNDI对象 12.2 发送电子邮件 12.2.1 配置邮件发送器 12.2.2 构建电子邮件 12.3 调度任务 12.3.1 使用Java Timer调度任务 12.3.2 使用Quartz调度器 12.3.3 按调度计划调用方法 ...

    Myeclipse开发struts+hibernate+spring新手入门--环境配置---项目开发示例

    改配置可以自动生成,使用eclipse进行自动生成,在建立时,如下图,可直接生成对应的action类和formbean类。 1 2 &lt;!DOCTYPE struts-config PUBLIC "-//Apache Software Foundation//DTD Struts Configuration ...

    struts1和struts2的区别

    虽然,在理论上Struts2的Action无须实现任何接口或者是继承任何的类,但是,在实际编程过程中,为了更加方便的实现Action,大多数情况下都会继承com.opensymphony.xwork2.ActionSupport类,并且重载(Override)此类...

    Spring in Action(第2版)中文版

    12.1.3在spring2中注入jndi对象 12.2发送电子邮件 12.2.1配置邮件发送器 12.2.2构建电子邮件 12.3调度任务 12.3.1使用javatimer调度任务 12.3.2使用quartz调度器 12.3.3按调度计划调用方法 12.4使用jmx管理...

    Spring in Action(第二版 中文高清版).part1

    12.1.3 在Spring 2中注入JNDI对象 12.2 发送电子邮件 12.2.1 配置邮件发送器 12.2.2 构建电子邮件 12.3 调度任务 12.3.1 使用Java Timer调度任务 12.3.2 使用Quartz调度器 12.3.3 按调度计划调用方法 ...

    struts2+Hibernate+Spring学习示例

    struts2+Hibernate+Spring 示例 目的:构建struts2开发框架 使用 Hibernate作为持久层操作 采用Spring容器 适合:有一定struts2基础 对Hibernate有一定的了解 对Spring有一定的知识 实现:通过对用户信息的基本...

    maven3.0+struts+spring+hibernate

    这个属于与Spring整合的问题,Spring容器在初始化对象的时候会根据bean的scope配置来考虑是重新建立一个对象,还是继续使用原来的对象,拿struts2的action的bean来说,如果scope这个参数没有配置,默认就是单例,即...

    Spring开发指南

    Web 应用中模板技术与 JSP 技术的对比 输入验证与数据绑定 异常处理 国际化支持 WebWork2 & Spring Quick Start WebWork 高级特性 Action 驱动模式 XWork 拦截器体系 输入校验 国际化支持 Webwork2...

    Struts2属性文件详解

    该属性设置Struts 2是否允许在Action名中使用斜线,该属性的默认值是false.如果开发者希望允许在Action名中使用斜线,则可设置该属性为true. struts.tag.altSyntax 该属性指定是否允许在Struts 2标签中使用表达式语法...

    spring in action英文版

     10.2.2 装载Spring Bean至Tapestry页面中  10.3 集成JavaServer Faces  10.3.1 解析变量  10.3.2 发布请求已处理事件  10.4 集成WebWork  10.4.1 WebWork1  10.4.2 XWork/WebWork2  10.5 小...

Global site tag (gtag.js) - Google Analytics