- 浏览: 888257 次
- 性别:
- 来自: 北京
文章分类
最新评论
-
wangzhen199009:
good. Thx for your sharing.
REST和认证 HMAC -
jsshizhan:
你的这个SQL有问题的
数据库中如何使用SQL查询连续数字并且统计连续个数 -
maoghj:
dddddddddddddd
mysql 更改my.cnf 慢查询日志 -
zhoutong123a:
人的贪婪无止境,只能控制,不能满足
招人心得 -
xuerThinkVickie:
...
ZeroClipboard支持IE,firefox,Chrome复制到剪贴板
Spring JavaConfig参考文档
第一章、介绍 |
评论 共 14 条 | 发表评论 |
第二章、组件 2.1 @Configuration 代码
@Configuration是一个class级别的annotation,它指示了配置里定义的bean的一些默认值。 代码
它可以认为是<beans/>标签的替代品。 用@Configuration标注的类继承ConfigurationSupport是明智的,因为该类提供了一些辅助方法。
2.2 @Bean 代码
上面的代码指示Spring容器使用方法名(作为bean的名字)和返回值(实际的bean实例)来创建一个bean。 该bean拥有session作用域,这意味着调用exampleBean()方法将为每个HTTP会话创建一个新的bean实例。 由于使用纯Java,我们在处理静态方法时没有必要使用factory-method: 代码
或者使用FactoryBean/MethodInvokingFactoryBean来创建复杂对象: 代码
@Bean是一个method级别的annotation并指示用来创建和配置一个bean实例的Java代码。 该标记支持XML bean定义的大部分选项,如autowiring,lazy-init,dependency-check,depends-on和scoping。 并且,lifecycle方法和*Aware接口完全支持: 代码
除了destroyMethodName,@Bean标记也支持initMethodName。
2.3 @ExternalBean 代码
当JavaConfig遇到@ExternalBean时,它将覆盖该方法,这样任何时候该方法被调用时,将在父application context里查找该方法名的bean。 这样,你的配置保持纯Java和重构友好性。 注意@ExternalBean也在普通方法上工作;上面的例子使用抽象方法来避免写入无法执行的dummy code: 代码
2.4 @ScopedProxy 代码
|
第三章、Bean可见度 代码
和如下XML配置一起使用: 代码
JavaConfig遇到如上的配置时,它将创建3个beans: publicBean, hiddenBean和secretBean。 它们是互相可见的,但是在'owning' application context(启动JavaConfig的application context)里创建的beans将只能看到publicBean。 hiddenBean和secretBean只能被在VisibilityConfiguration里创建的beans访问。 任何被@Bean标注的非public方法(protected, private和default)将创建一个'hidden' bean。 在上面的例子里,mainBean使用publicBean和hiddenBean配置。 但是,由于后者是hidden的,在运行时Spring将抛出异常: org.springframework.beans.factory.NoSuchBeanDefinitionException: No bean named 'hiddenBean' is defined ... 为了提供可见度功能,JavaConfig利用Spring提供的application context hierarchy,将所有的hidden beans放在一个子application context里一个 特殊的配置类里。这样,hidden beans可以访问在父(或owning)context里定义的beans,但是相反不行。
|
四、装配依赖 代码
上面的例子中,book的author使用rod方法的返回值。 但是,由于book和rod方法都被@Bean标记,结果得到的Spring管理的beans将遵循容器语义: rod bean将是singleton而book bean将是prototype。 当创建配置时,Spring知道annotation context并且将用名为"rod"的bean的引用来代替rod()方法。 每次book bean被请求时容器将返回一个新的Book实例(prototype),但是对rod bean则将返回同一实例(singleton)。 上面的代码等同于: 代码
注意上面的例子使用两个常见的scopes类型,而任何类型的scoping都可以被指定: 代码
|
五、命名策略 代码
在某些情况下,以方法名作为同样的bean名字并不合适,不同的类将覆盖定义。 为了定制该行为,我们可以实现BeanNamingStrategy接口来提供自己的名字生成策略。 但是,在写你自己的代码之前,看看默认实现MethodNameStrategy提供的选项: 代码
这样配置后,bean的名字将为bean创建方法加上class名前缀: 代码
|
六、混合XML和annotations 代码
为了引用myBean这个bean,我们可以使用下面的代码片段: 代码
在使用ConfigurationSupport或BeanFactoryAware之前请三思,因为@ExternalBean以重构更友好的方式提供同样的功能。 JavaConfig发布时包含了一个Petclinic示例,它使用Java和Groovy来替换部分XML配置--请参考示例程序获得更多信息。
|
七、使用Java Configuration a, AnnotationApplicationContext 代码
这种特有的application context将自动读取classpath下匹配给定模式的类并添加进来作为beans,缺点是这种方式不允许配置实例带参数。
b, Configuration post processor 代码
这种方式允许更多的配置选项,因为它不仅提供对configuration processing(通过ConfigurationPostProcessor)的控制,也提供对配置实例本身。 通过定义configuration为一个bean,Spring容器可以用来配置configuration(设置properties或者使用某个构造方法): 代码
|
第八章、Roadmap 译者说: 最后感谢老婆公司领导命令她今天加班,译者今天才有一天的时间来翻译此文档。 |
Spring JavaConfig和Spring annotation(http://spring-annotation.dev.java.net)区别在哪儿,Spring 2.1采用的是哪种方式,太乱了,,, 还好现在Spring项目还没有用到这些东西 |
JavaConfig和sannotations都以plugins的方式使用,Spring现在还没有集成它们,而JavaConfig是Spring的子项目,Spring要把Annotation配置集成到核心代码的话肯定选择JavaConfig了 你要采用annotation方式配置,就表示接受使用@Configuration |
期待中,可以省去配置xml文件的麻烦了。主要是xml文件的配置形式不能使用到java的类型检测,容易出错。。 |
文章写的不错,这个LOGO看得很不舒服 |
译的不错,辛苦。 JavaConfig也提供了AOP的注解配置方式,不过文档中还没怎么提,不知道以后会不会替代AspectJ的注解方式 |
相关推荐
JavaConfig 7.5.3。独立使用 7.6。Spring Data存储库的自定义实现 7.6.1。定制个人存储库 7.6.2。自定义基础存储库 7.7。从聚合根发布事件 7.8。Spring数据扩展 7.8.1。Querydsl扩展 7.8.2。Web支持 7.8.3。存储库...
* Java SSM(Java Config) * 权限Spring Security * 缓存Ehcache(后期加入) * 后台数据校验Hibernate Validation(后期加入) * more ## 项目备注 1、该资源内项目代码都经过测试运行成功,功能ok的情况下才上传的,请...
Spring.NET以Java版的Spring框架为基础,将Spring.Java的核心概念与思想移植到了.NET平台上。 第一章 序言 第二章 简介 2.1.概述 2.2.背景 2.3.模块 2.4.许可证信息 2.5.支持 第三章 背景 3.1.控制反转 第...
每个示例都带有详细的介绍文档、作者在使用过程中踩过的坑、解决方案及参考资料,方便快速上手为你提供学习捷径,少绕弯路,提高开发效率。 有需要写关于spring boot、spring cloud示例,可以给我提issue哦 ##...
者以这一版本的文档为参考。 另:Spring Security 从2010-01-01 以后,版本控制从SVN 换成了GIT,我们在翻译文档的 时候,主要是根据SVN 的变化来进行文档内容的比对,这次换成GIT 后,感觉缺少了之前 那种...
配置中心:Spring Cloud Config 消息总线:Rabbitmq 动态网关:Spring Cloud Gateway 授权认证:Spring Security OAuth2 服务容错:Spring Cloud Hystrix 服务调用:Spring Cloud OpenFeign 文档管理:Swagger...
${JAVA_HOME}/com/bank/service/${env}-config.xml"/> 5、xml的什么,不感兴趣 6、hibernate4支持,不感兴趣 7、spring测试框架和2,3,4的结合 8、spring配置文件中namespace的事情,不感兴趣 9、非标准setter类也...
欢迎来到Oracle Coherence Spring项目 Coherence Spring项目为和提供了引导支持。 Coherence Spring还提供了一组组件来帮助... 通过参考文档,我们还将引用各种演示和示例应用程序。 这些是该存储库的一部分,您可以在
自己整理的一些资料,不需要积分,希望对大家有帮助。 里面包有如下的一些java资料 Ant使用指南.pdf cvs.pdf Eclipse入门-- Eclipse的使用简介及插件开发.PDF ...spring2中文开发参考手册.chm a.txt
springCloud项目基础demo全部文件夹,包括文档桌面,代码中有说明与注释,附带参考的博客地址 项目文件夹介绍: springcloud-eureka ---注册中心(核心)参考博客地址: ... client ---- feign方式调用demo项目 参考...
中文-英文对照文档,中英对照文档,java,jar包,Maven,第三方jar包,组件,开源组件,第三方组件,Gradle,中文API文档,手册,开发手册,使用手册,参考手册 # 使用方法: 解压 【***.jar中文文档.zip】,再解压其中的 【***-...
中文-英文对照文档,中英对照文档,java,jar包,Maven,第三方jar包,组件,开源组件,第三方组件,Gradle,中文API文档,手册,开发手册,使用手册,参考手册 # 使用方法: 解压 【***.jar中文文档.zip】,再解压其中的 【***-...
后来项目结束了,我也没写总结文档。已经过去好久了。但最近突然又对这个ORM 工具感兴趣。因为接下来自己的项目中很有可能采用这个ORM工具。所以在此重新温习了一下 mybatis, 因此就有了这个系列的 mybatis 教程. ...
中文-英文对照文档,中英对照文档,java,jar包,Maven,第三方jar包,组件,开源组件,第三方组件,Gradle,中文API文档,手册,开发手册,使用手册,参考手册 # 使用方法: 解压 【***.jar中文文档.zip】,再解压其中的 【***-...
中文-英文对照文档,中英对照文档,java,jar包,Maven,第三方jar包,组件,开源组件,第三方组件,Gradle,中文API文档,手册,开发手册,使用手册,参考手册 # 使用方法: 解压 【***.jar中文文档.zip】,再解压其中的 【***-...
中文-英文对照文档,中英对照文档,java,jar包,Maven,第三方jar包,组件,开源组件,第三方组件,Gradle,中文API文档,手册,开发手册,使用手册,参考手册 # 使用方法: 解压 【***.jar中文文档.zip】,再解压其中的 【***-...
中文-英文对照文档,中英对照文档,java,jar包,Maven,第三方jar包,组件,开源组件,第三方组件,Gradle,中文API文档,手册,开发手册,使用手册,参考手册 # 使用方法: 解压 【***.jar中文文档.zip】,再解压其中的 【***-...
中文-英文对照文档,中英对照文档,java,jar包,Maven,第三方jar包,组件,开源组件,第三方组件,Gradle,中文API文档,手册,开发手册,使用手册,参考手册 # 使用方法: 解压 【***.jar中文文档.zip】,再解压其中的 【***-...
参考文档 准备工作 安装JCE 安装 Rabbit, ElasticSearch, 部署 zipkin-server(详情参考附录) 修改配置 config-server/src/main/resources/bootstrap.properties spring.cloud.config.server.git.uri=file://项目本地...
作者在杰普学习时的学习笔记,是J2ee初学者必备手册,是大家学习J2EE开发的很好的参考笔记。 Java/JavaEE 学习笔记 内容目录: Unix 学习笔记..........7 一、Unix前言............7 二、Unix基础知识....7 三、...