首页 > 编程笔记 > Java笔记

Struts2 <Bean>元素:定义及示例化Bean组件

Struts2 的核心架构中,引入了 Spring 的先进思想,通过 IoC 容器对 JavaBean 组件进行管理,而不是通过硬编码的方式来组织这些对象。

通过 IoC 容器来管理 Struts2 的核心组件,可以使用 Struts2 框架成为高度扩展、更灵活的 Web 应用框架,因为开发者可以通过 IoC 容器来自由组织 Struts2 框架中的组件,还可以根据不同的业务逻辑需要,通过 IoC 容器将自己编写的 JavaBean 注入 Struts2 框架中。对于开发者而言,应用 Struts2 框架的 IoC 容器具有无限的扩展性。在 Struts2 中,相对于配置文件的其他元素而言,使用 <bean> 元素定义及示例化 Bean 组件。

语法:

<struts>
  <bean class="url" name="name"/>
  <bean type="value" name="name" class="url"/>
  ……
</struts>


<bean> 元素的属性较多,如表所示。

<bean> 元素属性及说明
属性 说明
name 用于设置Bean示例的名称,其他地方通过此名称引用Bean示例
class 用于设置Bean的类名指定Bean示例是哪一个对象。此属性是必须设置的属性
type 指定Bean的实现接口,说明Bean是哪一个接口的实现类
scope 设置Bean的作用范围
static 是否使用静态方法注入
optional 是否是一个可选Bean

示例

通常情况下,在 Struts2 的配置文件中不需要自定义 Bean,这是因为在 struts-default.xml 文件中 Struts2 已经定义了这些对象。打开 Struts2 核心 Jar 包中的 struts-default.xml 文件,可以看到 Struts2 配置的 Bean 对象,其部分代码如下:
<struts>
  <bean class="com.opensymphony.xwork2.ObjectFactory" name="xwork"/>
  <bean type="com.opensymphony.xwork2.ObjectFactory" name="struts" class="org.apache.struts2.impl.StrutsObjectFactory"/>
  <bean type="com.opensymphony.xwork2.ActionProxyFactory" name="xwork" class="com.opensymphony.xwork2.DefaultActionProxyFactory"/>
  <bean type="com.opensymphony.xwork2.ActionProxyFactory" name="struts" class="org.apache.struts2.impl.StrutsActionProxyFactory"/>
  ……
</struts>
上述代码是 struts-default.xml 文件中定义的部分 Bean 对象,既然 Struts2 已经定义这些对象,就可通过继承 struts-default.xml 文件,使我们所编写的配置文件具有这些对象,从而减少配置代码量。

所有教程

优秀文章