`
dengkehai
  • 浏览: 80452 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

Spring XML配置的12个技巧(2)(转)

阅读更多
7. 用id来标识bean

你可以用id或名字作为bean的标识。用id可读性较差,但是它可以影响XML分析器使bean的reference有效。如果id由于XML IDREF约束而无法使用,你可以用name作为bean的标识。XML IDREF约束是指id必须以字母开始(或者是在XML声名了的一个标点符号),后面可以是字母,数字,连字符,下划线,冒号或full stops(不知道怎么翻译好)。在实际应用中很少会遇到XML IDREF约束问题。

8. 在开发阶段使用依赖检查

你可以为bean的dependency-check属性设置一个值来取代默认的none,比如说simple,objects或者all,这样的话容器将替你做依赖有效性的检查。当一个bean的所有属性(或者某些属性目录)都被明确设置,或利用自动装配时将会非常有用。

    <bean id="orderService"

        class="com.lizjason.spring.OrderService"

        dependency-check="objects">

        <property name="companyName"

            value="lizjason"/>

        <constructor-arg ref="orderDAO"/>

    </bean>

在这个例子中,容器将确保这些属性不是privitives或者保证collections是为orderService bean设置的。为所有的bean设置默认的依赖检查是可能的,但这个特性由于有些bean的属性不需要设置而很少使用。

9. 为每个配置文件加一个描述注释

在XML配置文件中最好使用有描述性的id和name,而不是成堆的注释。另外,加一个文件描述头将会非常有用,这个描述可以概括文件中定义的bean。另一个选择,你可以在description元素中加入描述信息。例如:

    <beans>

        <description>

            This file defines billing service

            related beans and it depends on

            baseServices.xml,which provides

            service bean templates...

        </description>

        ...

    </beans>

用description元素的一个好处就是工具可以很容易的把描述信息从这个元素中提取出来。

10.   和team members沟通变更

当你修改java源码后,要确保更改了配置文件中的相应部分并把这个情况告知你的team members。XML配置文件也是代码,它们是程序的重要组成部分,但它们很难阅读和维护。大多数时间里,你需要同时看XML配置文件和java代码才能知道是怎么回事。

11.   setter注入和构造函数注入,优先使用前者

Spring提供了三种注入方式:构造函数注入,setter注入和方法注入。一般我们使用前两种。

    <bean id="orderService"

        class="com.lizjason.spring.OrderService">

        <constructor-arg ref="orderDAO"/>

    </bean>



    <bean id="billingService"

        class="com.lizjason.spring.BillingService">

        <property name="billingDAO"

            ref="billingDAO">

    </bean>

在这个例子中,orderService bean用了构造函数注入,而BillingService bean用了setter注入。构造函数注入可以确保bean正确地构建,但是setter注入更加的灵活和易于控制,特别是当class有多个属性并且它们中的一些是可选的情况是更是如此。

12.   不要滥用注入

就像前面提到的,Spring的ApplicationContext可以替你创建java对象,但不是所有的java对象都应该通过注入创建。例如,域对象就不应该通过ApplicationContext创建。Spring是一个优秀的框架,但是考虑到可读性和可操控性,基于XML配置的配置会在定义很多bean的时候出现麻烦。过渡使用依赖注入将会使XML配置更加的复杂和冗长。切记,当使用高效的IDE时,例如Eclipse and IntelliJ,java代码更加的易于阅读,维护和管理比使XML文件

结论

XML是Spring流行的配置格式。存在大量bean定义时,基于XML的配置会变得冗长而不易使用。Spring提供了丰富的配置选项。适当地使用这些选项可以使XML配置更加的清晰,但其它的一些选项,例如自动装配,可能会降低可读性和可维护性。参考本文中提到的这些技巧可能会帮助你创建干净而易读的XML配置文件。
分享到:
评论

相关推荐

    Spring XML配置的12个技巧

    以下是对Spring XML配置的12个技巧的详细说明: 1. 避免使用自动装配:Spring提供了自动装配功能,通过匹配bean属性或构造函数参数进行依赖注入。尽管能简化配置,但可能会牺牲可读性和可维护性,因此不推荐在大型...

    Spring中XML配置的12个技巧

    ### Spring中XML配置的12个技巧 #### 1. 避免使用自动装配 在Spring框架中,自动装配(auto-wiring)是一种强大的功能,它允许开发者通过元数据(如bean类的自省)自动装配bean之间的依赖关系,从而避免在XML配置...

    Spring ApplicationContext.xml配置的12个技巧演示教学.pdf

    "Spring ApplicationContext.xml配置的12个技巧演示教学" Spring ApplicationContext.xml配置是 Spring 框架中非常重要的一部分,它提供了企业级服务,并且可以通过依赖注入来获得简单而有效的测试能力。然而,在...

    spring xml class属性提示

    这个插件可能是用来增强IDEA对Spring XML配置文件的支持,提供更丰富的代码提示和自动完成功能。安装插件的方法通常是将解压后的文件移动到IDEA的plugins目录,然后重启IDEA。 对于"xml输入类型,ALt+反斜杠提示包...

    SpringApplicationContext.xml配置的12个技巧.pdf

    Spring的ApplicationContext.xml配置是Spring框架的核心部分,用于定义和管理应用程序中的bean及其依赖关系。本文将探讨12个提升配置效率和可维护性的技巧。 1. **避免过度使用自动装配**(Autowiring):虽然...

    spring 自定义xml标签

    3. **注册自定义标签**:在Spring的XML配置文件中,你需要声明自定义命名空间,例如`&lt;beans xmlns="http://www.springframework.org/schema/beans" xmlns:dubbo="http://code.alibabatech.com/schema/dubbo"&gt;`。...

    Spring 配XML的十二种技巧.doc

    在探讨Spring配XML的十二种技巧时,我们深入解析了几个关键点,这些技巧旨在提升Spring框架中XML配置文件的可读性、可维护性和效率。以下是对文章中提到的几点技巧的详细解读: ### 1. 避免使用自动装配 尽管...

    Spring 加载多个配置文件

    ### Spring 加载多个配置文件详解 #### 一、引言 在现代软件开发中,Spring 框架因其强大的依赖注入(DI)和面向切面编程(AOP)能力而备受青睐。尤其在构建大型应用时,为了提高代码的可读性和可维护性,将系统...

    Spring 2.x配置详解

    ### Spring 2.x 配置详解 #### 关于 Spring 配置 自 Spring 2.0 起,推荐使用基于 XML Schema 的配置方式,这种方式比传统的 DTD 基础配置更为灵活。一个典型的 Spring 2.5 配置文件至少会包含以下结构: ```xml ...

    Spring 配XML的十二种技巧

    在Spring XML配置文件中,我们通过`&lt;bean&gt;`标签定义一个bean。例如: ```xml &lt;!-- 初始化参数 --&gt; 张三"/&gt; ``` 这里,`id`是bean的唯一标识符,`class`指定bean的实现类,`property`标签用于设置bean属性的值。 ...

    手写SpringIoc的XML实现方式

    首先,我们需要创建一个核心容器类,类似于`ClassPathXmlApplicationContext`,这个类将负责加载XML配置文件并解析其中的bean定义。这个类通常会有一个初始化方法,接受XML配置文件的路径作为参数,然后解析文件并...

    Spring+mvc+mybatis Mapper xml自动加载

    然而,通过特定的配置技巧,我们可以实现XML文件的热加载,这样每次修改完XML文件后,系统会自动感知变化并重新加载,避免了重启服务器的繁琐过程。 首先,我们需要确保Spring和MyBatis的配置文件正确设置了资源...

    xml配置文件自动提示(Spring2.5,Hibernate3.0,Struts2,Ibatis3) Dtd 文件及操作

    XML配置文件在IT行业中扮演着至关重要的角色,特别是在Spring、Hibernate、Struts2和Ibatis这些流行的Java框架中。DTD(Document Type Definition)是XML的一个关键组成部分,它定义了XML文档结构的规则,帮助开发者...

    Spring2.0的配置2

    以下是一些关于Spring 2.0 XML配置的实用技巧,旨在提高配置文件的可读性和可维护性。 1. **避免使用自动装配**: 自动装配(autowiring)是Spring提供的一种自动化依赖注入方式,可以通过bean的属性名或类型进行...

    spring框架配置bean的高级属性

    本文将详细解读标题“spring框架配置bean的高级属性”以及描述中的内容,并结合具体的示例XML配置文件来探讨Bean配置中的高级技巧。 #### 核心概念与应用场景 在描述中提到的`hibernate tools`是一种用于简化...

    MyBatis-Spring配置教程,非常适合初学者

    【MyBatis-Spring配置教程】是一份专为初学者设计的...这个【MyBatis-Spring教程】应该包含详细步骤和注释,帮助你逐步掌握MyBatis与Spring的整合技巧。记得遇到问题时多查阅资料,不断探索和解决问题,祝你学习顺利!

    spring-mybatis-struts2-master ——demo

    在"spring-mybatis-struts2-master"项目中,可以看到Spring的配置文件(如:applicationContext.xml),其中定义了Bean的实例化规则,包括数据库连接池、SqlSessionFactory等关键组件。 二、MyBatis框架 MyBatis是...

Global site tag (gtag.js) - Google Analytics