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。

  • 相关阅读:
    (转)超过 130 个你需要了解的 vim 命令
    ubuntu下解压文件命令大全(转)
    HDU 4681 String
    Linux使用过程中常见问题及其解决方法
    Linux 命令 及 简单操作 学习
    HDU 4666 Hyperspace (最远曼哈顿距离)
    POJ 2049 Finding Nemo
    HDU 4655 Cut Pieces
    <textarea>标签的使用
    数据库插入失败 和回滚
  • 原文地址:https://www.cnblogs.com/binger/p/struts2_bean.html
Copyright © 2011-2022 走看看