Spring---配置文件概述
概述
Spring 的配置文件是用于指导 Spring 工厂进行Bean的生产、依赖关系注入及 Bean 实例分发的“图纸”,它是一个或多个标准的XML文档,J2EE 程序员必须学会并灵活应用这份“图纸”。
Spring 配置文件的一般结构
<beans><import resource=“resource1.xml” /><bean id=“bean1” class=“***”></bean><alias alias=“bean2” name=“bean1” /></beans>
- <beans>表示bean的开始和结束
 - <import resource=“resource1.xml” />导入其它配置文件bean的定义,为了加载多个配置文件,当然也可以把这些文件构造成为一个数字,然后将这个数组传递给ApplicationContext实现加载多个配置文件。
 - <bean id=“bean1” class=“***”></bean>定义一个bean
 - <alias alias=“bean2” name=“bean1” />定义bean的别名
 
Spring容器启动基本条件
- Spring 的框架类包
 - Bean 的配置信息
 - Bean 的实现类
 
Spring启动时,读取bean的配置信息,bean在Spring容器中生成相应的bean的注册表,然后根据注册表实例化bean,装配好bean之间的依赖关系,为上层应用提供准备就绪的运行环境。
Bean的配置信息(bean的元数据信息)
- Bean 的实现类
 - Bean 的属性信息
 - Bean 的依赖关系 Spring根据依赖关系配置完成bean之间的装配
 - Bean 的行为配置 比如生命周期范围
 - Bean 的创建方式 通过构造器还是构造方法创建bean
 

基于XML的配置
Spring 的配置文件是基于XML格式的,Spring1.0的配置文件采用DTD格式,Spring2.0以后使用Schema的格式,后者让不同类型的配置拥有了自己的命名空间,是配置文件更具有扩展性。
采取基于Schema的配置格式,这种配置格式不可使用”定义使用哪种规范进行解析配置文件” 这段代码:<!DOCTYPE beans PUBLIC "-//SPRING/DTD BEAN/EN" "http://www.springframework.org/dtd/spring-beans.dtd">,否则会出现编译不通过的异常。
示例代码如下
<?xml version="1.0" encoding="UTF-8"?>
<beans
xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:aop="http://www.springframework.org/schema/aop"
xsi:schemaLocation="
http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans.xsd
http://www.springframework.org/schema/aop
http://www.springframework.org/schema/aop/spring-aop.xsd ">
<!-- 默认命名空间的配置 -->
<bean id = "person" class = "com.hudongwu.spring.chapter01.Person"/>
<!-- aop命名空间的配置 -->
<aop:config>
<aop:pointcut id="mycut" expression="execution(* com.hudongwu.spring.*(..))"/>
</aop:config> </beans>
上述代码释义
- Schema在文档根节点中通过xmlns对文档当中的命名空间进行声明。
 - 在上面的代码当中定义了三个命名空间
 
- 默认命名空间xmlns="http://www.springframework.org/schema/beans",这个命名空间没有缩略名,用于Spring Bean的定义。
 - xsi命名空间xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance",这个命名空间用于为每个文档中命名空间指定相对应的Schema样式文件,是标准组织定义的标准命名空间。
 - 名称为aop的自定义命名空间xmlns:aop="http://www.springframework.org/schema/aop",这个命名空间是Spring配置aop的命名空间,是用户自定义的命名空间。
 
- 命名空间的自定义分为两个步骤
 
- 指定命名空间的名称,需要指定命名空间的缩略名和全限定名。缩略名一般使用简洁易记的名称,若未指定缩略名,则是默认命名空间;全限定名使用文档发布机构的官方网站和相关网站目录作为全限定名。
 - 指定命名空间Schema文档样式文件的位置,用空格或回车进行分割。格式:命名空间全限定名+对应的Schema文件地址。
 
- 上述代码中设置的xmlns:aop相当于第一步,aop为命名空间的缩略名,而http://www.springframework.org/schema/aop则为命名空间的全限定名;设置的xsi:schemaLocation相当于第二步。
 - 指定命名空间Schema文档样式文件的位置有两个用途
 
- xml解析器可以获取Schema文件,并对文档进行格式合法性验证;
 - 在开发环境下,IDE对文档编辑器提供诱导功能
 
- Spring的配置Schema文件分布在各模块类包中,如果模块拥有对应的Schema文件,则可以在模块类包中找到一个config目录,Schema文件就位于该目录中
 
Spring---配置文件概述的更多相关文章
- (转)Spring的概述
		
http://blog.csdn.net/yerenyuan_pku/article/details/69663685 Spring的概述 什么是Spring 据度娘所载: Spring是一个开源框架 ...
 - Spring IOC 概述
		
Spring IOC 概述 IOC(Inversion of Control) 控制反转,也叫 DI(D_ependency injection_) 依赖注入.是一种设计思想.不过我并不同意所谓反转的 ...
 - 你不知道的Spring配置文件
		
Spring配置文件是用于指导Spring工厂进行Bean生产.依赖关系注入(装配)及Bean实例分发的"图纸".Java EE程序员必须学会并灵活应用这份"图纸&quo ...
 - Spring配置文件详解
		
转自: http://book.51cto.com/art/201004/193743.htm 此处详细的为我们讲解了spring2.5的实现原理,感觉非常有用 spring配置文件是用于指导Sp ...
 - Hibernate SQL方言 (hibernate.dialect) Spring配置文件applicationContext.xml
		
转自:http://www.cnblogs.com/wj-wangjun/archive/2009/10/21/1587624.html Hibernate SQL方言 (hibernate.dial ...
 - Spring配置文件详解 - applicationContext.xml文件路径
		
spring的配置文件applicationContext.xml的默认地址在WEB-INF下,只要在web.xml中加入代码 org.springframework.web.context.Cont ...
 - Spring配置文件详解 – applicationContext.xml文件路径
		
Spring配置文件详解 – applicationContext.xml文件路径 Java编程 spring的配置文件applicationContext.xml的默 ...
 - spring配置文件详解--真的蛮详细
		
spring配置文件详解--真的蛮详细 转自: http://book.51cto.com/art/201004/193743.htm 此处详细的为我们讲解了spring2.5的实现原理,感觉非常 ...
 - Spring 配置文件详解 (以2.5为例)
		
转载自:http://blog.csdn.net/zzjjiandan/article/details/22922847 Spring配置文件是用于指导Spring工厂进行Bean生 ...
 - Spring配置文件外部化配置及.properties的通用方法
		
摘要:本文深入探讨了配置化文件(即.properties)的普遍应用方式.包括了Spring.一般的.远程的三种使用方案. 关键词:.properties, Spring, Disconf, Java ...
 
随机推荐
- Cocos2d-x v3.1项目创建(三)
			
Cocos2d-x v3.1项目创建(三) Cocos2d-x官方为我们提供了用于创建.编译.运行和部署的一套命令行的工具集,也就是上篇文章中我们所提到的Cocos2d-Console,它位于我们的引 ...
 - ansible使用1-安装&配置
			
参考文档 http://docs.ansible.com https://github.com/leucos/ansible-tuto 控制机安装 ansible控制机通过ssh控制远程主机,远程主机 ...
 - Vim中根据正则对选中文本对齐(比如ini文件的=号对齐)
			
vimrc增加如下内容即可: vnoremap <M-=> :call Duiqi('\v(^\s*\S+)\s+(.*)')<CR> "reg匹配的第2段文字对齐 ...
 - 笨办法学Python(十九)
			
习题 19: 函数和变量 函数这个概念也许承载了太多的信息量,不过别担心.只要坚持做这些练习,对照上个练习中的检查点检查一遍这次的联系,你最终会明白这些内容的. 有一个你可能没有注意到的细节,我们现在 ...
 - 双网卡(一外一内)都启用,将内网卡默认网关去除即可正常连接Internet
 - java Date equals 的坑
			
今天在JDK6上做开发,遇到一个很诡异的问题. Domain中一个实体是Date,称为变量 a, 使用Calendar构造出来的Date,称为变量b, 虽然都是同一天,比如 2016-11-11 00 ...
 - MySQL入门很简单:  14MySQL日志
			
二进制日志: 以二进制文件的形式记录了数据库中的操作,但不记录查询语句 错误日志: 记录MySQL服务器的启动,关闭和运行错误等信息 通用查询日志: 记录用户登录和记录查询的信息 慢查询日志: 记录执 ...
 - java——类加载机制
			
类加载机制 JVM把class文件加载的内存,并对数据进行校验.转换解析和初始化,最终形成JVM可以直接使用的Java类型的过程就是加载机制. 类从被加载到虚拟机内存中开始,到卸载出内存为止,它的生命 ...
 - DOM笔记(十二):又谈原型对象
			
因为之前谢过一篇关于原型对象的笔记:浅谈JavaScript中的原型模式.现在我又重新看到这个话题,对原型有了进一步的理解,所以,又要谈谈原型对象. 一.理解原型对象 创建的每一个函数都有一个prot ...
 - CPU体系结构
			
http://blog.csdn.net/liuxc0116/article/details/17004313 1.算术逻辑单元ALU(Arithmetic Logic Unit)ALU是运算器的核心 ...