zoukankan      html  css  js  c++  java
  • struts2中的Bean配置

         struts2框架是一个高度可扩展的框架,框架的大部分核心组件,struts2并不是以硬编码的方式写在代码中的,而是以自己的IoC(控制反转)容器来管理框架的核心组件。

         struts2框架以可配置的方式来管理struts2的核心组件,从而允许开发者可以很方便的扩展该框架的核心组件。当开发者需要扩展,或者替换struts2的核心组件时,只需要提供自己的组件实现类,并将该组件实现类部署在struts2的IoC容器中即可。

         在struts.xml文件中定义Bean时,通常有如下两个作用。

              1. 创建该Bean的实例,将该实例作为struts2框架的核心组件使用。

              2. Bean包含的静态方法需要注入一个值。

         举例说明:例如下面的struts.xml文件中的Bean配置,我们使用了一个自定义的ObjectFactory来替换struts2内置的ObjectFactory。配置代码片段如下:

    <struts>
         <!-- 配置定制的ObjectFactory Bean,该Bean实现了ObjectFactory接口,实现类是MyObjectFactory-->
         <bean type="com.opensymphony.xwork2.ObjectFactory"
    name="myfactory" class="com.opensymphony.xwork2.myapp.MyObjectFactory"/>
    </struts>

     配置文件解释:

         <bean />元素在struts.xml文件中定义Bean,bean元素有如下几个属性:

              class:必填属性,它指定Bean实例的实现类。

              type:可选属性,它指定Bean实例实现的struts2的规范,该规范通常是通过某个接口来体现,因此该属性的值通常是一个struts2接口。如果需要将Bean实例作为struts2组件来使用,则应该指定该属性的值。

              name:可选属性,该属性指定Bean实例的名字,对于有相同type类型的多个Bean,他们的name属性不能相同。

             scope:可选属性,该属性指定Bean实例的作用域,属性值只能是default、singleton、request、session或者thread之一。

              static:可选属性,该属性指定Bean是否使用静态方法注入,通常而言,当指定了type属性时,该属性值不应该指定为true。

             optional:可选属性,该属性指定该Bean是否是一个可选的Bean。

  • 相关阅读:
    Zookeeper初见
    常见一致性协议(二)
    常见一致性协议(一)
    分布式理论基础
    expose a port on a living Docker container
    tomcat远程调试参数备忘
    bash: ifconfig: command not found
    解决 :java -version出现错误:“could not open `C:Program FilesJavajre7libamd64jvm.cfg”
    centos7 安装 NVIDIA Docker
    解决: httpclient ssl 验证导致死锁问题
  • 原文地址:https://www.cnblogs.com/binger/p/struts2_bean.html
Copyright © 2011-2022 走看看