`
lixw
  • 浏览: 200931 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

Spring,Struts整合时Action中如何获得Bean工厂

阅读更多
MyI myi = (MyI) ((WebApplicationContext)(this.getServlet().getServletContext().getAttribute(ContextLoaderPlugIn.SERVLET_CONTEXT_PREFIX))).getBean("myi");

  

同样可以通过这种方式来获得:

 

WebApplicationContext ctx = WebApplicationContextUtils.getWebApplicationContext(this.getServlet().getServletContext());
UserManageServiceIF  userManage = (UserManageServiceIF) ctx.getBean("userManage");

 

注意:WebApplicationContextUtils这个抽象类含有两个静态方法:getRequiredWebApplicationContext和getWebApplicationContext,它们都作用都是为web应用查找根WebApplicationContext,这个上下文环境典型的方式是通过ContextLoaderListener或者ContextLoaderServlet来加载,它们由web.xml配置的contextConfigLocation参数来获取配置文件位置,并且指定的多个路径用ConfigurableWebApplicationContext.CONFIG_LOCATION_DELIMITERS=",; \t\n"指定的分隔符来分隔,当然也支持通配符,如/WEB-INF/applicationContext-*.xml,它们的不同之处在于前者当没有找到WebApplicationContext时会抛出IllegalStateException这个异常,而后者仅仅是返回null而已。

分享到:
评论

相关推荐

    Struts2整合Spring、JPA

    在整合Spring时,我们通常会利用Spring的Action代理来替代Struts2默认的Action实例化方式,这样可以将Action的创建和依赖注入交给Spring容器来管理。具体实现包括在Struts配置文件中声明Spring插件,并在Spring的...

    Spring整合Struts

    另一种整合方式是通过继承Spring的ActionSupport类,这使得开发者能够显式地使用getWebApplicationContext()方法获取Spring管理的bean。这种方式更适用于那些需要深度集成Spring特性的场景,比如AOP或更复杂的依赖...

    spring与struts2整合

    在示例项目 `spring_struts_teranen` 中,开发者可能已经提供了一个简单的整合案例,包括配置文件、Action 类、JSP 视图以及必要的测试。初学者可以通过阅读代码、运行示例和对比不同部分来了解整合的细节。这个过程...

    Spring与Struts2整合

    - 在使用Struts2-Spring插件时,注意Action类的生命周期是由Spring控制,而非Struts2。 整合Spring和Struts2是一个常见的Java Web开发实践,熟练掌握这一技能能够提高开发效率,提升应用的可维护性和扩展性。在实际...

    Spring和Struts整合例子

    5. **Action类的修改**:由于我们使用了Spring管理Bean,所以Action类不再需要依赖注入的构造函数,而是通过setter方法来获取依赖。例如: ```java public class YourAction { private UserService userService; ...

    spring和struts整合的三种方案

    这种方式使得 Spring 容器能够在 Struts 初始化时加载,从而管理应用中的所有bean。 2. **使用 ContextLoaderListener 监听器** 另一种启动 Spring 容器的方法是在 `web.xml` 中配置 `ContextLoaderListener` ...

    spring_struts整合jar包

    2. **Spring MVC与Struts2的集成**:虽然两者都有MVC模式,但在整合时,通常会使用Struts2来处理请求的路由和响应,而Spring MVC则处理更复杂的视图解析和数据绑定。 3. **Spring事务管理**:Spring提供了强大的...

    Spring + struts 整合的三种主要方式

    具体实现方法是让自定义的Action继承自`org.springframework.web.struts.ActionSupport`类,这样就可以在Action中使用Spring的依赖注入和其他特性了。 **示例代码**: ```java public class LoginAction extends ...

    struts 整合spring 例子,测试通过

    通过这种方式,当Struts2需要实例化Action时,会从Spring容器中查找对应的bean,这样就实现了Action和其依赖的解耦,使得代码更易于测试和维护。 总的来说,Struts2与Spring的整合提供了更好的组件管理和控制反转...

    spring+struts2整合源码

    当使用Spring整合时,Action类通常不再直接依赖于Service,而是通过@Autowired注解从Spring容器中注入Service。例如: ```java @Controller public class MyAction { @Autowired private MyService myService; ...

    Myeclipse下整合springstruts2

    在`struts.xml`文件中,我们需要指定使用Spring作为对象工厂,这允许Struts2从Spring容器中获取Action实例。添加以下关键代码: ```xml <constant name="struts.objectFactory" value="spring" /> ...

    spring与struts整合开发包

    - **配置Struts**:在Struts的配置文件中,定义Action配置,设置Spring管理的Bean作为Action的实现类。 - **Spring的DispatcherServlet**:Spring的DispatcherServlet作为前端控制器,替代Struts的ActionServlet,...

    整合struts2和spring

    这样,每次请求时,Struts2会从Spring容器中获取Action实例,而不是使用默认的实例化方式。 4. **Action类的配置**:Action类需要实现Spring的`org.springframework.stereotype.Component`注解,以便Spring能识别并...

    Spring与Struts 2整合.zip

    整合Spring和Struts 2的主要目的是将Spring的依赖注入和管理能力引入到Struts 2的Action中,以及利用Spring的AOP进行事务管理。整合步骤通常包括以下几个部分: 1. **添加依赖**:在项目中引入Spring和Struts 2的库...

    JPA+Spring+Struts整合实例,JPA+Spring+Struts整合实例

    同时,可以使用Spring插件(struts2-spring-plugin)来实现Spring与Struts的集成,这样Action类可以直接从Spring容器获取服务层对象。 **4. 实现业务逻辑** 创建JPA实体类,使用`@Entity`注解标识。接着,创建对应...

    整合Spring与Struts的几种方法

    在整合两者时,主要目标是让Spring管理Struts的Action实例,这样可以利用Spring的IoC容器来创建和控制Action对象。 首先,关键步骤是使Struts的ActionServlet能够加载Spring的应用程序环境。这可以通过在Struts的...

    使用Spring整合Struts编写多页面用户注册模块

    在整合Spring和Struts时,我们需要配置Spring的ApplicationContext,这通常是一个XML文件,其中定义了bean的声明和它们之间的依赖关系。这些bean可能包括DAO(数据访问对象)、Service层以及Struts的Action类。...

    Struts Spring Hibernate整合实践

    - 将 Struts 的 Action 映射配置改为使用 Spring 管理的 Bean,通常会配置一个 `<action>` 节点,指定对应的 Spring Bean 名称。 - 创建 Spring 的配置文件,定义需要托管的 Bean,包括Action、Service、DAO等,...

    Spring整合集成Struts1.2最简单例子

    在Spring配置文件中,声明Struts Action为Bean,并指定其Class。例如: ```xml <bean id="exampleAction" class="com.example.ExampleAction"> </bean> ``` 这样,Spring会管理Action实例的生命周期,并负责...

    struts2_mybatis_spring_框架实例整合_数据库 文档

    在与Spring整合时,MyBatis的SqlSessionFactory可以通过Spring的Bean配置管理,实现事务控制和依赖注入。 Spring框架作为全能型的IoC(Inversion of Control)/DI(Dependency Injection)容器,负责管理和装配应用...

Global site tag (gtag.js) - Google Analytics