`

如何写好spring的配置文件

阅读更多
1. 你不该滥用自动装配
自动装配很酷,会默默的保存一些类型信息并降低混乱。
然而,由于它会牺牲掉这种配置的直观性和可维护性,你在实际的项目中将不会用到它。

2. 使用命名规范

和Java编码的理念一样,在项目中始终用清晰的,描述性的,一致的命名规范对开发人员理解XML配置非常有用。
拿beanID举例来说,你可以遵循Java类中属性的命名规范。比如说,OrderDaoImpl的beanID应该是orderServiceDao。
对于大项目来说,在beanID前加包名来作为前缀。

3. 使用简化格式
简化格式有利于减少冗余,因为它把属性值和引用作为属性,而不是子元素。看下面的例子:
<bean id="orderService" class="my.package.OrderService">
	<property name="companyName">
		<value>oracle</value>
	</property>
	
	<constructor-arg>
		<ref bean="orderDao">
	</constructor-arg>
</bean>

以上程序可以重新以简化格式书写为:
<bean id="orderService" class="my.package.OrderService">
	<property name="companyName" value="oracle"/>
	<constructor-arg ref="orderDao"/>
</bean>

简化格式在1.2版本时已经可用了,这种简化格式不仅可以较少你的代码输入量,而且可以使XML配置更加的清晰。
当你的配置文件中存在大量的bean定义时,它可以显著地提高可读性。

4. 尽量使用type而不是index去解决构造函数参数的匹配问题
当构造函数中有多个同类型的参数时,Spring只允许你使用从0开始的index或者value标签来解决这个问题。请看下面的例子:

<bean id="billingService" class="my.package.BillingService">
	<constructor-arg index="0" value="oracle"/>
	<constructor-arg index="1" value="100"/>
</bean>

最好用type属性取代上面的做法:

<bean id="billingService" class="com.lizjason.spring.BillingService">
	<constructor-arg type="java.lang.String" value="oracle"/>
	<constructor-arg type="int" value="100"/>
</bean>

用index可以稍微减少冗余,但是它更容易出错且不如type属性可读性高。你应该仅在构造函数中有参数冲突时使用index。

5. 如可能,尽量复用bean定义
Spring 提供了一种类似于继承的机制来降低配置信息的重复并使XML配置更加的简单。一个子bean可以从它的父bean继承配置信息,本质上这个父bean就像它的子bean的一个模板。这是一个在大型项目中必须使用的特性。所有你要做的就是把父bean的abstract属性置为true,并在子bean中加以引用。例如:
<bean id="dao" abstract="true">
	<property name="sqlMapClientTemplate" ref="sqlMapClientTemplate" />
</bean>

<bean id="departmentDao" 
	class="my.package.dao.impl.DepartmentDaoImpl" 
	parent="dao" 
/>

<bean id="employeeDao" 
	class="my.package.dao.impl.EmployeeDaoImpl" 
	parent="dao" 
/>


6. 尽量使用ApplicationContext装配bean,而不是用import
下面这样不是最好选择
<beans>
	<import resource="applicationContext-dao.xml"/>
	<import resource="applicationContext-service.xml"/>
<beans>

ClassPathXmlApplicationContext的构造方法有一种重载是接受String[]的。用它。

7. 用id来标识bean
name太灵活了,太灵活又可能是个问题。在实际应用中很少会遇到XML IDREF约束问题,用id足够了。

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

9. 为每个配置文件加一个描述注释
配置文件里加点注视,xml文件的注释可以,description标签也可以。用标签的好处是,你可以写个什么工具把它抽出来。

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

11.setter注入和构造函数注入,优先使用前者
Spring提供了三种注入方式:构造函数注入,setter注入和标注破坏封装注入。一般我们使用前两种。

12. 不要滥用注入
记住一个道理:“物极必反”。
分享到:
评论

相关推荐

    spring配置文件加密实现

    为了保护这些敏感信息不被非法访问或篡改,我们可以对Spring配置文件进行加密处理。本文将深入探讨如何在Java环境中,利用TE网络技术实现Spring配置文件的加密。 首先,我们需要理解Spring配置文件的基本结构。...

    spring配置文件实例

    spring配置文件实例

    spring配置文件详解

    Spring 配置文件详解 Spring 配置文件是 Spring 框架中最重要的配置文件之一,它负责定义和配置应用程序的Bean对象,以及它们之间的依赖关系。Spring 配置文件通常以XML文件的形式存在,文件名通常为...

    spring配置文件

    spring配置文件spring配置文件spring配置文件spring配置文件spring配置文件spring配置文件spring配置文件spring配置文件spring配置文件spring配置文件spring配置文件spring配置文件spring配置文件spring配置文件...

    spring 配置文件详解

    Spring 配置文件详解 Spring 配置文件是指-guide Spring 工厂进行 Bean 生产、依赖关系注入(装配)及 Bean 实例分发的“图纸”。Java EE 程序员必须学会并灵活应用这份“图纸”准确地表达自己的“生产意图”。...

    Spring配置文件集合

    在本压缩包中,我们找到了一系列与Spring相关的配置文件,这些文件在构建JavaWeb应用时起着至关重要的作用。 1. `jdbc.properties`: 这个文件通常用于存储数据库连接的相关信息,如URL、用户名、密码等。它是Spring...

    spring配置文件模板

    《Spring配置文件模板详解》 在Java开发领域,Spring框架以其强大的依赖注入(Dependency Injection,简称DI)和面向切面编程(Aspect-Oriented Programming,简称AOP)能力,成为了企业级应用开发的重要选择。而...

    Spring动态加载配置文件

    接下来,一旦检测到Spring配置文件发生变化,我们需要重新加载配置文件。这可以通过Spring的`ApplicationContext`的`refresh()`方法来实现。`refresh()`会重新初始化Bean工厂,读取新的配置信息,并更新所有Bean的...

    spring配置文件详细介绍

    下面是对Spring配置文件的详细介绍。 首先,Spring配置文件通常是以`.xml`为扩展名的文件,例如`beans.xml`。这些文件存储在项目的`src/main/resources`目录下,以便在运行时被自动加载。Spring容器...

    Spring配置加注释

    Spring配置 Spring 配置 映射 加注释!!!!Spring配置 Spring 配置 映射 加注释!!!!

    spring配置文件详解,每一步都含有注释

    spring配置文件详解,交你如何理解spring,熟练运用spring

    Spring配置文件:注入数据时配置文件的配置格式

    Spring配置文件:注入各种数据时配置文件的配置格式

    大型项目的struts,spring配置文件

    在大型项目中,Struts和Spring的配置文件是系统的核心,它们定义了各个组件如何协同工作。下面将详细讲解这两个框架的主要配置元素和它们在大型项目中的应用。 首先,Struts的配置文件通常命名为`struts-config.xml...

    spring配置文件:整理总结Spring中XML配

    ### Spring配置文件:整理与总结Spring中XML配置的最佳实践 #### 概述 Spring框架作为一个强大的Java应用框架,在企业级应用开发中占据了重要的地位。它为普通的Java对象(Plain Old Java Objects, POJOs)提供了...

    spring读取配置文件

    在Spring框架中,配置文件是应用的核心组成部分,它定义了bean的定义、依赖关系以及其他配置信息。本篇文章将深入探讨如何在Spring中读取不同目录下的配置文件,以及使用`ClassPathXmlApplicationContext`和`...

    如何加载jar包中的spring配置文件

    在Spring MVC项目中,加载jar包中的Spring配置文件是一个常见的需求,特别是在进行SSM(Spring、Spring MVC、MyBatis)整合时。SSM框架的整合通常涉及到多个配置文件的组织和管理,其中一部分配置可能会被打包到独立...

    spring2 整合 Dwr(把DWR的配置写到Spring的配置文件)

    **Spring2 整合 DWR:将DWR配置融入Spring配置文件** Direct Web Remoting (DWR) 是一个开源的JavaScript库,它允许在浏览器和服务器之间进行实时、安全的双向通信,使得Web应用程序能够拥有类似桌面应用的交互性。...

    xbean简化spring配置文件.doc

    xbean简化spring配置文件 xbean是 Apache Geronimo 项目的一个子项目,旨在简化Spring配置文件的编写。下面我们来详细介绍如何使用xbean简化Spring配置文件。 在Spring之前,我们使用Factory模式来管理bean。例如...

    spring配置数据库文件

    spring配置数据库文件,连接数据库的一写配置文件

Global site tag (gtag.js) - Google Analytics