首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 软件管理 > 软件架构设计 >

Spring JavaConfig开发指南(下)

2012-10-27 
Spring JavaConfig开发指南(上)Spring JavaConfig开发指南作者:袁光东1.?????????? 什么是JavaConfigSprin

Spring JavaConfig开发指南(上)
Spring JavaConfig开发指南作者:袁光东1.?????????? 什么是JavaConfigSpring IOC有一个非常核心的概念——Bean。由Spring容器来负责对Bean的实例化,装配和管理。XML是用来描述Bean最为流行的配置方式。Spring可以从XML配置文件中读取任何类型的元数据并自动转换成相应的Java代码。Spring开变了java的编程模式,Spring的下载已经超过了1亿次,可见Spring已经有多流行。随着Spring的日益发展,越来越多的人对Spring提出了批评。“Spring项目大量的烂用XML”就是最为严励的一个批评。由于Spring会把几乎所有的业务类都以Bean的形式配置在XML文件中,造成了大量的XML文件。使用XML来配置Bean失去了编译时的类型安全检查。大量的XML配置使得整个项目变得更加复杂。Rod Johnson也注意到了这个非常严重的问题。当随着JAVA EE 5.0的发布,其中引入了一个非常重要的特性------Annotations(注释)。注释是源代码的标签,这些标签可以在源代码层进行处理或通过编译器把它熔入到class文件中。在JAVA EE 5以后的版本中,注释成为了一个主要的配置选项。Spring使用注释来描述Bean的配置与采用XML相比,因类注释是在一个类源代码中,可以获得类型安全检查的好处。可以良好的支持重构。JavaConfig就是使用注释来描述Bean配置的组件。JavaConfig 是Spring的一个子项目,比起Spring,它还是一个非常年青的项目。目前的版本是1.0 M2。使用XML来配置Bean所能实现的功能,通过JavaConfig同样可以很好的实现。?2.?????????? HelloWorld with JavaConfig2.1?获得JavaConfigJavaConfig的下载地址:http://downloads.sourceforge.net/springframework/spring-javaconfig-1.0-m2-with-dependencies.zip?modtime=1178633399&big_mirror=0关于JavaConfig的更多信息请访问:http://www.springframework.org/node/455?2.2?HelloWorld程序我们将以HelloWorld程序来开始JavaConfig之旅!HelloWorld.java

        元素名 元素类型 说明 默认值 取值说明 defaultAutowire Autowire 默认自动织入方式 INHERITED ? defaultDependencyCheck DependencyCheck 默认依赖检查方式 DependencyCheck. UNSPECIFIED ,即不进行依赖检查 ? defaultLazy Lazy 默认延时初始化 Lazy. UNSPECIFIED 即不进行延时初始化 ? names String[] Configuration名称 "",默认为空字符串 ? useFactoryAspects boolean 是否使用切面从封装的Bean工厂自动织入 false true,false

        ?deaultAutowire标记Bean的自动织入方式,其取值在org.springframework.beans.factory.annotation.Autowire类中进行定义。?

        模式 说明 INHERITED 不指定自动织入模式,从封装的factory中继承 NO 不使用自动织入 BY_NAME 根据名称织入bean的属性 BY_TYPE 根据类型织入bean的属性 注意:Autowire并没有定义constructor和autodetect这两种织入方式,也无需要这两种织入方式

        ?DefaultDependencyCheck 标记Bean的依赖检查方式其取值在DependencyCheck中定义

        模式 说明 UNSPECIFIED 不指定依赖检可方式,从封装的factory中继承 NONE 没有依赖检查 SIMPLE 对原始类型和集合进行依赖检查 OBJECTS 对对象进行依赖检查 ALL 对原始类,集合和对象都进行依赖检查

        ?DefaultLazy 标记Bean是否进行延时初始化,其取值在Lazy类中定义

        模式 说明 UNSPECIFIED 不指定延时初始化Bean方式,从封装的factory中继承 FALSE 不进延时初始化Bean TRUE 延时初始化Bean

        ??示例:

                  元素名 元素类型 说明 默认值 取值说明 aliases String[] Bean的别名 {} ? dependencyCheck DependencyCheck 默认依赖检查方式 DependencyCheck. UNSPECIFIED ,即不进行依赖检查 ? allowOverriding boolean 允许覆盖xml或其它Configuration的bean false ? autowire AutoWire 自动织入方式 INHERITED Autowire

                  ?

                  dependsOn String[] 当前Bean依赖的bean {} ? destroyMethodName String 销毁方法名 空 ? initMethodName String 初始化方法名 空 ?

                  ?

                  ?

                  未完,继续见第二部份

                  1 楼 打倒小日本 2007-06-05   这么好的文章竟然没人讨论?
                  好好学习,不懂得地方再向楼主请教 2 楼 linxiao 2007-06-05   好文章啊,受用 3 楼 leondu 2007-06-05   格式阿格式,不得不说je的编辑器实在是不好用,建议klyuan加一个附件。 4 楼 klyuan 2007-06-06   http://www.iteye.com/topic/86273

                  下半部份

                  我竟然不能一次性发完!!
                  所以分成两个贴发!!!
                  5 楼 klyuan 2007-06-06   leondu 写道格式阿格式,不得不说je的编辑器实在是不好用,建议klyuan加一个附件。

                  我当时加附件就提交不成功!郁闷

热点排行