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集成

完整版见https://jadyer.github.io/
  • jadyer
  • jadyer
  • 2011-02-08 00:29
  • 1424

Struts2 与 Spring 的集成

1. 整合原理: Struts2 与Spring集成需要使用到一个插件(struts2-spring-plugin-x-x-x.jar),这个插件将会覆盖Struts2的ObjectFactory接口...

精选:深入理解 Docker 内部原理及网络配置

网络绝对是任何系统的核心,对于容器而言也是如此。Docker 作为目前最火的轻量级容器技术,有很多令人称道的功能,如 Docker 的镜像管理。然而,Docker的网络一直以来都比较薄弱,所以我们有必要深入了解Docker的网络知识,以满足更高的网络需求。

Struts2 与 Spring 的集成

Struts 2 Spring Integration In this simple hello world example you will see how to integrate Spring...

Spring IBatis Struts2 集成之二:Spring与Struts2集成

接首上一篇《Spring IBatis Struts2 集成之一:Spring与IBatis集成 》,本篇写Spring与Struts2的集成。 集成Spring  Struts2 的整个过程如...

Spring集成struts2

1.添加struts与spring相关的jar文件到classpath下,

Spring+Struts2+MyBatis集成

Struts+Spring+MyBatis集成 SSM整合

struts2中集成spring

struts的包就不列了,只列下spring

Struts2+Spring+Hibernate3集成

Struts2,Spring,Hibernate集成

struts2+spring+iBatis集成

已经近三年没有使用Spring,IBatis,Hibernate等框架,同部门的另一个项目组赶进度,我们整个项目组都加入开发的行列。Spring,IBatis如何配置,如何使用等都忘光了,上网找一找资...

Spring IBatis Struts2 集成之一:Spring与IBatis集成

集成Spring  IBatis 的整个过程如下: 引入所有需要的*.jar文件。配置web.xml。 配置log4j。 配置C3P0数据库连接池。配置Spring以及与IBatis集成...
  • zztp01
  • zztp01
  • 2011-09-01 11:11
  • 1434
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

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