vs2013做的网站,wordpress 写文章空白,怎么制作公众号动图,男生做男生网站在那看目录
前言
1.Spring容器高层视图
2.基于XML的配置 前言 在使用Spring所提供的各项丰富而神奇的功能之前#xff0c;必须在Spring IoC容器中装配好Bean#xff0c;并建立好Bean和Bean之间的关联关系。Spring的配置文件已经很精简了#xff0c;但是广大的开发者希望它做得更…目录
前言
1.Spring容器高层视图
2.基于XML的配置 前言 在使用Spring所提供的各项丰富而神奇的功能之前必须在Spring IoC容器中装配好Bean并建立好Bean和Bean之间的关联关系。Spring的配置文件已经很精简了但是广大的开发者希望它做得更好。Spring对这个进行了许多重大的改进很多原来冗长的配置拥有了简洁的版本。此外Spring还提供了多种配置方式既可以选择一种配置也可以同时使用多种配置。
1.Spring容器高层视图 要使应用程序中的Spring容器成功启动需要同时具备以下三方面的条件 Spring框架的类包都已经放到应用程序的类路径下。 应用程序为Spring提供了完备的Bean配置信息。 Bean的类都已经放到应用程序的类路径下。 Spring启动时读取应用程序提供的Bean配置信息并在Spring容器中生成一份相应的Bean配置注册表然后根据这张注册表实例化Bean,装配好Bean之间的依赖关系为上层应用提供准备就绪的运行环境。 Bean配置信息时Bean的元数据信息它由以下4个方面组成 Bean的实现类。 Bean的属性信息如数据源的连接数、用户名、密码等。 Bean的依赖关系Spring根据依赖关系配置完成Bean之间的装配。 Bean的行为配置如生命周期范围及生命周期各过程的回调函数等。 Bean元数据信息在Spring容器中的内部对应物是由一个个BeanDefinition形成的Bean注册表Spring实现了Bean元数据信息内部表示和外部定义的解耦。 Spring支持多种形式的Bean配置方式。Spring 1.0仅支持基于XML的配置Spring 2.0新增基于注解配置的支持Spring 3.0新增基于Java类配置的支持而Spring 4.0则新增基于Groovy动态语言配置的支持。 Bean配置信息首先定义了Bean的实现及依赖关系Spring容器根据各种形式的Bean配置信息在容器内部建立Bean定义注册表然后根据注册表加载、实例化Bean并建立Bean和Bean之间的依赖关系最后将这些准备就绪的Bean放到Bean缓存池中以供外层的应用程序进行调用。
2.基于XML的配置 对于基于XML的配置Spring 2.0以后采用Schema格式这样让不同类型的配置拥有了自己的命名空间使得配置文件更具扩展性。此外Spring基于Schema配置方案为许多领域的问题提供了简化的配置方法配置工作因此得到了大幅简化。 采用基于Schema的配置格式文件头的声明会复杂一些。看一个简单的示例配置XML文件内容如下所示
?xml version1.0 encodingUTF-8 ?
beans xmlnshttp://www.springframework.org/schema/beans xmlns:xsihttp://www.w3.org/2001/XMLSchema-instance xmlns:aophttp://www.springframework.org/schema/aop xsi:schemaLocation
http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans-4.0.xsd
http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-4.0.xsd
!--默认命名空间的配置--
bean idfoo classcom.smart.Foo /
!--aop命名空间的配置--
aop:config aop:advisor pointcut-refexecution(**..PetStoreFacade.*(..)) advice-reftxAdvice /
/aop:config
/beans 其中xmlnshttp://www.springframework.org/schema/beans是默认的命名空间 xmlns:xsihttp://www.w3.org/2001/XMLSchema-instance 是xsi标准命名空间用于指定自定义命名空间的Schema文件 xmlns:aophttp://www.springframework.org/schema/aop是自定义命名空间aop是该命名空间的简称其值http://www.springframework.org/schema/aop是命名空间全称必须在xsi命名空间为其指定空间对应的Schema文件 xsi:schemaLocation
http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans-4.0.xsd
http://www.springframework.org/schema/aop
http://www.springframework.org/schema/aop/spring-aop-4.0.xsd是为每个命名空间指定具体的Schema文件 要了解文件头所声明的内容需要学习一些XML Schema的知识。Schema在文档根节点中通过xmlns对文档所引用的命名空间就行声明。在上面的配置文件中定义了3个命名空间。
①默认命名空间它没有空间名用于Spring Bean的定义。
②xsi标准命名空间这个命名空间用于为每个文档中的命名空间指定相应的Schema样式文件是W3C定义的标准命名空间。
③aop命名空间这个命名空间是Spring配置AOP的命名空间即一种自定义的命名空间。 命名空间的定义分为两个步骤第一步是指定命名空间的名称第二步指定命名空间的Schema文档格式文件的位置用空格或回车换行进行分隔。 在第一步中需要指定命名空间的缩略名和全名请看下面配置所定义的命名空间 xmlns:aophttp://www.springframework.org/schema/aop aop为命名空间的别名一般使用简洁易记的名称文档后面的元素可通过命名空间别名加以区分如aop:config/等。而http://www.springframework.org/schema/aop为空间的全限定名习惯上用文档发布机构的官方网站和相关网站目录作为全限定名。这种命名方式既可以标识文档所属的机构又可以很好地避免重名的问题。但从XML Schema语法来说别名和全限定名都可以任意命名。 如果命名空间的别名为空则标识该命名空间为文档默认命名空间。文档中无命名空间前缀的元素都属于默认命名空间如beans/、bean/等都属于默认命名空间。
在第二步中为每个命名空间指定了对应的Schema文档格式的定义文件定义的语法如下
命名空间1 命名空间1Schema文件 命名空间2 命名空间2Schema文件 命名空间使用全限定名每个组织机构在发布Schema文件后都会为该Schema文件提供一个引用的URL地址一般使用这个URL地址指定命名空间对应的Schema文件。命名空间名称和对应的Schema文件之间使用空格或回车分隔不同的命名空间之间也使用这种分隔方法。 指定命名空间的Schema文件地址有两个用途其一XML解析器可以获取Schema文件并对文档进行格式合法性验证其二在开发环境下IDE可以引用Schema文件对文档编辑提供诱导功能自动补全功能。当然这个Schema文件的远程地址并非一定能够访问一般的IDE都提供了从本地类路径查找Schema文件的功能只有找不到时才从远程加载。 Spring4.0配置的Schema文件放置在各模块JAR文件内一个名为config的目录下。 虽然Spring为AOP、声明事务、Java EE都提供了专门的Schema XML配置但Spring也允许继续使用低版本的基于DTD的XML配置方式。Spring4.0配置的升级是向后兼容的但强烈建议使用新的基于Schema的配置方式。 除了支持XML配置方式外Spring还支持基于注解、Java类及Groovy的配置方式不同的配置方式在本质上是基本相同的只是存在形式的区别。由于基于XML的配置方式是最基础、最传统的所以后面主要以基于XML的配置方式讲解Spring的配置其他3种配置方式则作简要介绍。