Spring与Struts2集成

原创 2011年01月21日 23:05:00

1 实例化Spring 的AC(ApplicationContext)

   该如何获取AC呢?

    在Action组件中直接用new 的方法得到肯定是不合理的,因为这样每
    调用一次execute的时候就创建一个新的容器,这样会很快把资源耗尽。

    如果利用工厂模式创建一个容器,例如工具类,只在方法执行的第一次
    回创建出容器实例。但这种方法仍有缺点:但是当第一次执行的时候,
    会实例化所有内容,很慢。

               public class MyAction{
                public String execute(){
                  // ac=new ClassPathXmlApplicationContext("");
             //当调用一次execute的时候就创建一个新的容器,
             // 这样会很快把资源耗尽,所以这种方法是不可以的。
                  ac=AcUtil.getAc();//利用工厂模式来创建一个容器,
              // 但是当第一次执行的时候,会实例化所有内容,很慢。
                   StoreService service=ac.getBean("service");
                   service.sub();
                   return "success";
                }
              }

    因此我们要压迫启动WEB应用的时候实例化AC:
    不使用struts2框架的情形,可以用contextListerner监听web.xml文件
    的加载;
            ServletContextListener
                  contextInitialization(){
                   ac实例化
                   servletContext.setAttribute("",ac);
                  }
                  contextDestory(){}
    
    如果使用spring框架,则可以用声明式实例化AC,在web.xml文件中添加:
           <context-param>
                <param-name>contextConfigLocation</param-name>
                <param-value>/WEB-INF/classes/ac.xml</param-value>
           </context-param>
           <listener>
                 <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
           </listener>

   2从AC中获取bean
        在servlet中:
        首先获得AC:ac=WebApplicationContextUtils.getWebApplicationContext(servletContext);
        然后从AC中得到Bean。
        Struts2:
          依赖的业务组件,作为Action的属性 由Struts自动依赖注入
        (需要添加struts-spring-plugin.jar插件)
        例如:ac中有个叫做"user"的Bean,那么只需要在Action组件中添加属性user即可。
版权声明:本文为博主原创文章,未经博主允许不得转载。

Spring整合Struts2的两种方式

Spring提供了一个ContextLoaderListener,该监听类实现了ServletContextListener接口。该类可以作为Listener使用,它会在创建时自动查找WEB-INF/...
  • cuiyaoqiang
  • cuiyaoqiang
  • 2016年07月12日 11:44
  • 4293

Struts2与Spring集成中的自动装配策略

自动装配即bean之间的依赖关系无需手动配置。 1.    与自动装配有关的配置 【org.apache.struts2.StrutsConstants类】 Ø // Spring应...
  • hupoling
  • hupoling
  • 2016年05月20日 17:04
  • 1005

Spring整合Struts2 之 深度解析

Struts2与Spring整合,其实是将Struts融入到Spring中
  • fanxiaobin577328725
  • fanxiaobin577328725
  • 2017年04月05日 18:24
  • 1145

Spring 4与Struts 2项目基于XML的集成实战

Spring 4与Struts 2项目基于XML的集成实战。为什么要写这篇Hello World级别的文章。大约十年前,我开始使用Spring 2和Struts 1开发Web应用,构建工具使用的是An...
  • chszs
  • chszs
  • 2015年10月04日 14:15
  • 4436

【SSH (六)】struts2 整合 spring 并 连接数据库

这个项目大致在【SSH (三)】struts2项目搭建的基础上进行。 1,首先下载spring jar包, http://spring.io/ 选择右上角PROJECTS,选择Spr...
  • u010900754
  • u010900754
  • 2016年03月11日 10:56
  • 817

采用共享jar包部署struts2+spring集成项目会遇到的问题

比如tomcat下边有个lib,放着我们需要的struts2 + spring 集成jar包(一定要struts2和spring集成),即共享给所有webapp使用,如图: 此时tomcat启动时...
  • scholar_man
  • scholar_man
  • 2015年09月08日 10:30
  • 779

Struts2、hibernate和spring下载,整合所需jar包

ssh三个框架各自所有版本下载地址如下 Struts framework 下载地址: http://mirror.bjtu.edu.cn/apache/struts/binaries/ hibe...
  • lulin27860
  • lulin27860
  • 2014年03月06日 09:25
  • 3176

SSH:Struts2与Spring整合核心配置及Jar包引用

关于Spring ApplicationContext 1.        从字面上看ApplicationContext就是Application级别的Context(上下文,上下文一般会包含系统...
  • payne1010
  • payne1010
  • 2014年05月19日 12:00
  • 1396

干货--Redis+Spring+Struts2实现网站计算器应用项目案例

有关redis的介绍我就不说了,可以参看我前几篇文章,redis快速入门 首先来看一下redis的应用场景 下面是我这个项目的的运行的场景截图 这是我们经常在各博客见到的顶和踩的画面,对于这种场...
  • tanggao1314
  • tanggao1314
  • 2016年04月11日 20:26
  • 3444

详细分析spring与struts2的整合原理

详细分析spring与struts2的整合原理
  • canot
  • canot
  • 2016年02月19日 15:52
  • 3653
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:Spring与Struts2集成
举报原因:
原因补充:

(最多只允许输入30个字)