您的位置:首页 > 编程语言 > Java开发

Spring配置文件浅析(学习笔记)

2016-06-01 16:33 441 查看
Spring的配置文件是用于指导Spring工厂进行Bean的生产、依赖关系注入及Bean实例分发的"图纸",它是一个或多个标准的XML文档,J2EE程序员必须学会并灵活应用这份"图纸",准确地表达自己的"生产意图":
Spring位置文件示例
 
Spring配置文件的一般结构如下:

<beans>
 
<import resource="resource.xml"/> 

-------用于导入其它配置文件bean的定义,为了加载多个配置文件
<import resource="resource2.xml"/>
 
<bean id="bean1" class="***"></bean>
 
<bean name="bean2" class="***"></bean>
 
<alias alias="bean3" name="bean2"/> 

-------用于定义bean的别名,这里的意思是bean2和bean3是同一个bean,只不过是名字不同

</beans>
 
   
 
 
Spring容器高层视图
SPring容器启动基本条件
Spring的框架类包

Bean的配置信息

Bean的实现类
 
 
Bean的元素数据信息:
Bean的实现类

Bean的属性信息(数据源的连接数,用户名和密码等)

Bean的依赖关系

Bean的行为配置(生命周期范围,生命周期各个过程的回调函数等)

Bean的创建方式(构造器
还是
工厂方法
来创建的)
 
 
 
基于XML的配置
Spring的配置文件是基于XML格式的,Spring1.0的配置文件采用DTD格式
Spring2.0以后使用Schema的格式,让不同类型的配置拥有了自己的命名空间,使配置文件更具有扩展性。
 
采用基于Shcema的配置格式,文件头的声明会复杂一些:
 

<?xml version="1.0-" encoding="UTF-8" ?>
 
<beans>
 
xmlns="http://www.springframwork.org/schema/beans"
默认命名空间
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi标准命名空间,用于指定自定义命名空间的Schema文件。
xmlns:aop="http://springframwork.org/schema/aop"
aop为命名空间的简称,后面是命名空间的全称,必须在xsi命名空间为其指定空间对应的Schema文件;
Xsi:schemaLocation="
 
http://www.springframework.org/schema/beans
为每个命名空间指定具体的Schema文件
http://www.springframework.org/schema/beans/spring-beans-3.0.xsd
 
http://www.springframework.org/schema/aop
习惯上用文档发布的官方网站和相关网站目录来作为全限定名;既可以标志文档所属的机构,又可以很好地避免重名的问题
http://www.springframework.org/schema/context/spring-aop-3.0.xsd">
 
        <!--默认命名空间配置-->
 
<bean id ="foo" class="com.stone.Foo"/>
 文档中无命名空间前缀的元素都属于默认命名空间
 
 
<aop:config>
 
<aop:pointcut id="mycut" expression="execution(*com.stone.*(..))"/>
                 <!--aop命名空间配置-->
</aop:aspect>
 
</beans>
 
 
 
 
 
Spring3.0的配置Schema文件分布在各模块类包中,如果模块拥有对应的Schema文件,则可以在模块类包中找到一个config目录,Schema文件就位于该目录中,如下是对这些Schema文件的用途进行了简单说明:
实例说明:Spring-beans-3.0.xsd
命名空间:http://www.springframework.org/schema/beans
Schema文件:http://www.springframework.org/schema/beans/spring-beans-3.0.xsd
 
 
Spring-beans-3.0.xsd (Spring3.0最主要的Schema文件主要用于配置Bean)
Spring-aop-3.0.xsd
Spring-tx-3.0.xsd  (声明式事务配置定义的Schema)
Spring-mvc-3.0.xsd
Spring-util=3.0.xsd(为简化某些复杂的标准配置新增的Schema)
Spring-jee-3.0.xsd(为简化j2ee中EJB,JNDI等功能的配置而提供的Schema)
Spring-jdbc-3.0.xsd(为配置Spring内建数据库而提供的Schema)
Spring-jms-3.0.xsd()
Spring-lang-3.0.xsd(为集成动态语言而定义)
Spring-oxm-3.0.xsd()
Spring-task-3.0.xsd(用于任务调度的Schema)
Spring-tool-3.0.xsd(为集成Spring的一些有用工具而提供的Schema)
 
基于XML配置方式是功能最强的
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: