spring 配置文件浅析

来源:互联网 发布:怎么查网络ip地址 编辑:程序博客网 时间:2024/05/20 06:05
   spring 配置文件是spring对bean进行生产以及关系注入的图纸,是spring的基础,如果没有配置文件,spring容器无从谈起

spring的配置文件概述

    spring的配置文件是用于指导spring工厂进行Bean的生产、依赖关系注入以及Bean实例分发的图纸,它是一个或多个标准的XML文档,其中application.xml是spring的默认配置文件,当容器启动时找不到其他的配置文件时,它将会尝试加载这个默认的配置文件,J2ee程序员必须学会灵活应用这份图纸,准确的表达自己的生产意图。

spring的配置文件的一般接口如下:
<beans>    <improt resources = "resource1.xml"/>    <improt resources = "resource2.xml"/>    <bean id ="bean1" class= "***"/>    <bean name ="bean2" class=""/>    <bean alias="bean3" name="bean2"/>     <!-- bean3 和bean2 是同一个Bean --></bean>




spring容器启动的基本条件:
    spring的框架类包
    bean的配置信息
    beam的实现类

Bean的元数据信息(bean的配置信息)
    bean的实现类
    bean的属性信息(如:username,password)
    bean的依赖关系(spring根据依赖关系,配置完成bean之间的装配)
    bean的行为配置(如,生命周期,回调函数)
    bean的创建方式(构造器,工厂方法 创建的Bean)






    这幅图主要描述的spring容器,bean配置信息,bean实现类,以及应用程序 之间的关系,
bean配置信息定义了bean的实现以及依赖关系,spring容器根据各种形式的bean配置信息,在容器内部建立了bean定义注册表,然后根据注册表进行加载实例化bean,并简历bean和bean之间的依赖关系,最后将这些准备就绪的bean放到bean的缓存池中,已供外层调用。

    spring的配置文件是基于XML格式,spring1.0的配置文件采用的DTD格式,spring2.0以后使用的schema的格式,后者让不同的类型的而配置拥有了自己的命名空间,是配置文件具有扩展性。此外spring几乎schema配置方法,为许多bean定义问题提供了简化方法,配置工作也得到了大幅简化。
采取基于schema的配置格式,文件头的声明会复杂一些:

<?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:schameLocation="               http://www.springframework.org/schema/beans               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.zto.foo"/>         <aop:config>            <aop:pointcut id = "mycut" expression="execution(* com.zto.*(..))"        </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

0 0
原创粉丝点击