`
小鑫。
  • 浏览: 135095 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

【转载】Struts2 学习笔记——struts.xml文件之Bean的配置

 
阅读更多
Struts2的大部分核心组件不是以硬编码的形式写在代码中,而是通过自身的IoC容器来管理的。
Struts2以可配置的形式来管理核心组件,所以开发者可以很容易的扩展框架的核心组件。当开发者需要扩展或者替换Struts2的核心组件时,只需要提供自己的组件实现类,并部署在Struts2的IoC容器中即可。
我们打开struts2-core-2.2.1.1.jar中的struts-default.xml文件,可以看到大量的Bean的定义。如下代码片段:
    <!—- 两个对象工厂组件-->
    <bean class="com.opensymphony.xwork2.ObjectFactory" name="xwork" />
    <bean type="com.opensymphony.xwork2.ObjectFactory"
            name="struts"  
           class="org.apache.struts2.impl.StrutsObjectFactory" />

而我们在struts.xml定义Bean时,通常有以下两个作用:
1、 创建的Bean实例作为Struts2框架的核心组件使用。
2、  Bean的静态方法需要一个值注入。
对于第一种用法,Bean的实例作为核心组件使用。因此需要告诉Struts2容器实例的作用----即实现了Struts2的某个接口,这个接口定义了该组件必须遵循的规范。
例如下面我们使用一个自定义的ObjectFactory对象来替换Struts2的内置ObjectFactory
<!—-配置自定义的ObjectFactory Bean,名称为myFactory,实现com.opensymphony.xwork2.ObjectFactory 类,
实现类com.smp.ObjectFactory -->
<bean name="myFactory"
type="com.opensymphony.xwork2.ObjectFactory" class="com.smp.ObjectFactory" />

在使用<bean/>元素在struts.xml文件中定义Bean,bean元素有以下几个属性
class:这个属性是个必填属性,它指定了Bean实例的实现类。
type:这个属性是个可选属性,它指定了Bean实例实现的Struts2的规范,该规范通常是通过某个接口或者在此前定义过的Bean,因此该属性值通常是个接口或者此前定义过的Bean的name属性值。如果需要将Bean的实例作为Strut2组件使用,则应该指定该属性的值。
name:该属性是个可选属性,它指定的Bean实例的名字,对于有相同type的多个Bean。则它们的name属性不能相同。
scope:该属性是个可选属性,它指定Bean实例的作用域,该属性的值只能是default、singleton、request、session或thread之一。
static:该属性是个可选属性,它指定Bean是否使用静态方法注入。通常而言,当指定了type属性时,该属性就不应该指定为true。
optional:该属性是个可选属性,它指定Bean是否是一个可选Bean。

注:转自http://blog.163.com/artsn@126/blog/static/36533281201111511381316/
分享到:
评论

相关推荐

    struts2学习笔记

    ### Struts2学习笔记知识点详解 #### 一、准备工作及实例 **1. 解压struts-2.1.6-all.zip** - **Apps目录**:包含struts2自带的例子程序,供用户学习和参考。 - **Docs目录**:提供官方文档,包括API文档、指南等...

    Struts1学习笔记总结.pdf

    Struts-config.xml文件是Struts1的核心配置文件,用于配置Struts的各种组件,包括数据源、表单Bean、Action Mapping等。 TLD文件 TLD(Tag Library Descriptor)文件是Struts1的标签库文件,用于定义Struts的标签...

    struts2学习笔记!

    在深入理解Struts2框架之前,我们首先需要了解其核心配置文件——`struts.xml`。 **1. struts.xml配置** ```xml &lt;?xml version="1.0" encoding="UTF-8"?&gt; &lt;!DOCTYPE struts PUBLIC "-//Apache Software Foundation...

    Struts1及14. Struts2学习笔记

    同时,Struts2的配置文件通常为struts.xml,配置更加简洁。 **Struts2.x note.jsp** 在Struts2的学习笔记中,`note.jsp`可能同样用于显示和编辑笔记,但使用的是Struts2的标签库,如`&lt;s:property&gt;`来显示模型对象的...

    Struts2学习笔记

    2. **环境搭建**:(一)环境搭建.txt可能包含了安装和配置Struts2框架的基础步骤,这通常包括添加Struts2库到项目依赖、配置web.xml文件、创建第一个Struts2应用等。 3. **UploadServlet.java**:在Struts2中,...

    struts1.2学习笔记

    ### Struts 1.2 学习笔记:深入理解 Struts 工作流程 #### Struts 概述 Struts 是一个开源的 MVC(Model-View-Controller)框架,用于简化 Java Web 应用程序的开发。Struts 1.2 版本是基于 Servlet 的 MVC 实现,...

    Java/JavaEE 学习笔记

    Struts学习笔记...............263 Struts2.0..263 第一章 MVC Model.........................263 第二章 Struts Basic264 第三章 Action,Result & Struts2 Tag Library......................267 第四章 Data ...

    马士兵struts2课程的学习笔记

    Struts2是一个流行的Java Web应用程序框架,用于构建...以上就是Struts2课程学习笔记中的主要知识点,涵盖了从基础配置到高级特性的多个方面。理解和掌握这些内容,有助于深入学习和使用Struts2框架进行Java Web开发。

    struts2超详细笔记

    - **默认加载的配置文件**:定义了struts2的一些核心bean和拦截器,自动包含在struts.xml中。 - **包含位置**:struts2-core.jar内。 **(5)其他配置文件** - **velocity.properties**:用于配置Velocity模板引擎...

    J2EE学习笔记(J2ee初学者必备手册)

    Struts学习笔记...............263 Struts2.0..263 第一章 MVC Model.........................263 第二章 Struts Basic264 第三章 Action,Result & Struts2 Tag Library......................267 第四章 Data ...

    struts2笔记(修改版)

    - **struts-default.xml**:Struts2框架默认加载的配置文件,定义了一些核心bean和拦截器,并自动包含在struts.xml文件中。 - **其他配置文件**:例如velocity.properties、struts-default.vm、struts-plugin.xml...

    struts2笔记.doc

    4. **struts-default.xml**:Struts2框架默认加载的配置文件,定义核心bean和拦截器,自动包含到struts.xml中,提供标准配置。 5. **其它配置文件**:如velocity.properties、struts-default.vm、struts-plugin.xml...

    Struts学习笔记.txt

    ### Struts2学习笔记 #### 一、Struts2简介 Struts2是Apache基金会下的一个开源项目,它是一个基于MVC(Model-View-Controller)设计模式的Web应用程序框架。Struts2提供了丰富的功能来简化Java Web应用的开发过程...

Global site tag (gtag.js) - Google Analytics