`
kyo100900
  • 浏览: 639837 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

【翻译】spring配置全书(下)——附PDF完整版下载

阅读更多

JMS 命名空间简介

 

 

Schema URI

www.springframework.org/schema/jms

 

Schema XSD

www.springframework.org/schema/jee/spring-jms-2.5.xsd

 

JMS 命名空间提供的元素可用来配置 message-driven POJO (消息驱动 POJO ), beans 用来响应 JMS destination ( 比如说一个 topic queue)

 

 

 

JMS 命名空间元素简介

 

 

JMS 命名空间实例

 

 

在下面的 Spring 配置文件中,我们建了一个 message-driven POJO ,用来响应 JMS 上的消息队列。

 

 

 

<?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:jms=”http://www.springframework.org/schema/jms” 
xsi:schemaLocation=”http://www.springframework.org/schema/beans 
http://www.springframework.org/schema/beans/spring-beans-2.5.xsd 
http://www.springframework.org/schema/jms 
http://www.springframework.org/schema/jms/spring-jms-2.5.xsd”>

<bean id=”connectionFactory” class=”org.apache.activemq.ActiveMQConnectionFactory”> 
	<property name=”brokerURL” value=”tcp://localhost:61616” /> 
</bean>
 
<bean id=”messageHandlerService” class=”com.pirate.Message¬HandlerImpl” /> 

<jms:listener-container connection-factory=”connectionFactory”> 
	<jms:listener destination=”queue.bottle” ref=”messageHandlerService” method=”readMessageFromBottle” /> 
</jms:listener-container>

</beans>

 

 

<jms:listener-container> 配置了一个容器,专门用于处理到达 JMS connection factory 里的 topics queues 的消息。在这个元素里,你可以声明一个或多个 <jms:listener> 元素,用来响应各自的 topics 。在这个例子中,单独的 <jms:listener> 会在消息到达“ queue.bottle ”这个 topic 时,调用“ messageHandlerService bean readMessageFromBottle() 方法。

 

 

 

LANG 命名空间简介

 

 

Schema URI

www.springframework.org/schema/lang

 

Schema XSD

www.springframework.org/schema/lang/spring-jms-2.5.xsd

 

LANG ”命名空间允许你在 Spring context 中配置 scripted objects( 脚本对象 ) 。这些对象可以是 Groovy JRuby 或者 BeanShell

 

 

 

 

LANG 命名空间元素简介

 

 

 

 

 

LANG 命名空间实例

 

 

在下面的 Spring context 中, Pirate beans 的属性分别被定义为 <lang:groovy> <lang:jruby> 的两个 scripted beans 注入:

 

 

<?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:lang=”http://www.springframework.org/schema/lang” 
xsi:schemaLocation=”http://www.springframework.org/schema/beans 
http://www.springframework.org/schema/beans/spring-beans-2.5.xsd 
http://www.springframework.org/schema/lang 
http://www.springframework.org/schema/lang/spring-lang-2.5.xsd”> 

<bean id=”jackSparrow” class=”Pirate”> 
	<constructor-arg value=”Jack Sparrow” /> 
	<property name=”compass” ref=”compass” /> 
	<property name=”hat” ref=”hat” /> 
</bean>
 
<lang:groovy id=”compass” script-source=”classpath:Compass.groovy” refresh-check-delay=”10000” /> 
<lang:jruby id=”hat” script-source=”classpath:PirateHat.rb” script-interface=”PirateHat” refresh-check-delay=”60000” />

</beans>

 

 

 

<lang:groovy> 元素建了一个由 Groovy script 实现的 bean ,名字叫 Compass.groovy 并且放在 classpath 的根目录下。 refresh-check-delay 属性表示每 10 秒钟看看该 script 是否改变了,然后对其进行相应的 update reload 操作。

<lang:jruby> 元素建了一个由 Ruby( 指定为 JRuby) script 实现的 bean ,名字叫 PirateHat.rb 。它实现了 PirateHat 接口并每分钟都会检查是否需要 update

 

 

 

 

 

TX 命名空间简介

 

 

Schema URI

www.springframework.org/schema/tx

 

Schema XSD

www.springframework.org/schema/tx/spring-jms-2.5.xsd

 

TX ”命名空间为声明在 Spring context 中的那些 Beans 提供声明式事务处理的支持。

 

 

 

 

 

TX 命名空间元素简介

 

 

TX 命名空间实例

 

 

在下面的 Spring context 中,使用了 tx 命名空间下的元素,用来配置事务规则和界限:

 

 

 

<?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:tx=”http://www.springframework.org/schema/tx” 
xmlns:aop=”http://www.springframework.org/schema/aop” 
xsi:schemaLocation=”http://www.springframework.org/schema/beans 
http://www.springframework.org/schema/beans/spring-beans-2.5.xsd 
http://www.springframework.org/schema/aop 
http://www.springframework.org/schema/aop/spring-aop-2.5.xsd 
http://www.springframework.org/schema/tx 
http://www.springframework.org/schema/tx/spring-tx-2.5.xsd”> 

<tx:jta-transaction-manager /> 
<tx:advice id=”txAdvice”> 
	<tx:attributes> 
		<tx:method name=”plunder*” propagation=”REQUIRED” /> 
		<tx:method name=”*” propagation=”SUPPORTS” /> 
	</tx:attributes> 
</tx:advice> 

<aop:config> 
	<aop:advisor pointcut=”execution(* ..Pirate.*(..))” advice-ref=”txAdvice” /> 
</aop:config>

</beans>

 

 

<tx:jta-transaction-manager> 已经加入到 Spring2.5 中用于自动检测由 WebLogic WebSphere OC4J 提供的 JTA 事务管理。它默认是以叫“ transactionManager ”的 bean 配置在 Spring context 中的。

接下来, <tx:advice> 建立了一个 AOP advice 用于声明事务处理规则。在这个例子中,任何以“ plunder ”为前缀的方法都会得到一个事务。其它方法的规则则是“ support ”事务,并不要求一定会有事务来参与。最后,这个从先前 aop 命令空间借用的例子使用了具备事务性质的 advice 来配置成一个 AOP advistor 。定义在这儿的 pointcut 只对 Pirate 类的所有方法起作用。

 

 

温馨提示:

 

Java 事务配置规则

如果你正在考虑压缩 Spring 配置的 XML 数据的话,考虑用 <tx:annotation-driven> 元素试试吧。一旦该元素配置好了,你可以使用开始使用 annotation 来配置你的 beans ,而且只要使用 @Transactional 来定义事务边界和规则即可。你可以看看 Spring In Action 2nd 第六章 6.4.4 节了解更多内容。

 

 

 

 

 

UTIL 命名空间简介

 

 

Schema URI

www.springframework.org/schema/util

 

Schema XSD

www.springframework.org/schema/util/spring-jms-2.5.xsd

 

util 命名空间可以将 collections 和其它 non-bean 对象封装在 Spring 配置文件中,让你感觉它们同其它 bean 没有什么区别。

 

 

 

 

 

 

 

UTIL 命名空间元素简介

 

 

UTIL 命名空间实例

 

 

在下面的 Spring context 配置文件中,使用了 util 命名空间下的元素:

 

 

 

<?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:util=”http://www.springframework.org/schema/util” 
xsi:schemaLocation=”http://www.springframework.org/schema/beans 
http://www.springframework.org/schema/beans/spring-beans-2.5.xsd 
http://www.springframework.org/schema/util 
http://www.springframework.org/schema/util/spring-util-2.5.xsd”>

<util:list id=”piratePhrases”> 
	<value>Yo ho ho</value> 
	<value>Yarr</value> 
	<value>Avast me hearties!</value> 
	<value>Blow me down</value> 
</util:list> 

<util:constant id=”pirateCode” static-field=”Pirate.PIRATE_CODE” /> 
	<util:property-path id=”doubloonCount” path=”pirate.treasure.doubloonCount” />
</beans>

 

 

 

<util:list> 元素用来建一个持有 String list <util:constant> 元素则是用来建立一个 Pirate 类的常量字段“ PIRATE_CODE ( 该字段是 public static 标识符 ) 的引用。最后, <util:property-path> 元素先从“ pirate bean 得到它的“ treasure ”属性,再从“ treasure ”得到它的属性“ doubloonCount ”,再将这个“ doubloonCount ”暴露在 Spring context 中。(注意上面配置文件中的“ pirate.treasure.doubloonCount ”里面的 pirate 是已经配置在 Spring context 中的 bean ,这里作者并没有配置出来。)以上三个配置实例里,都通过 util 命名空间元素将其暴露在 Spring context 中去了,然后你可以随意将它们注入到其它的 beans 中去。

 

 

 

 

 

Spring Annotation 简介

 

历史上, Spring 的配置最初只涵盖 XML 方式。但是 Spring 渐渐也与基于 annotation 的配置方式打成一片。到了 Spring2.5 ,已经提供超过 36 annotation 的支持了,这还不包括第三方类库和 Spring add-ons

 

 

 

Context Configuration Annoations

 

这一组 annotations 主要是让 Spring 来创建和注入 bean 对象的。

 

 

 

 

 

Transaction Annoations

 

@Transactional annotation 协同 <tx:annotation-driven> 元素用来为类或方法声明事务边界和规则。

 

 

 

 

 

 

Stereotyping Annoations

 

 

<!----><!----> <!---->

这组 annotations 主要用在应用程序中各个层次中的 stereotype 类型。如果在 Spring 配置文件中还配置了 <context:component-scan> 元素,而且某个类还被标注了下列 annotation 的话,该类就会自动被注册到 Spring context 中去。

 

另外,如果一个 PersistenceExceptionTranslationPostProcessor 配置在 Spring context 中,那么任何标记了 @Repository annotation bean 在方法执行过程中抛出的 SQLExceptions 会被转换成 Spring unchecked DataAccessExceptions

 

 

 

 

 

<!----><!----> <!---->

Spring MVC Annoations

 

 

这组 annotations Spring2.5 时才被引入。它让 Spring MVC 应用程序的创建变得更加容易,不仅将 XML 配置文件缩减到最小化,而且不需要去继承 Controller interface 的实现了。

 

 

 

<!---->

JMX Annoations

 

 

这组 annotations 协同 <context:mbean-export> 元素,将 bean 的方法和属性声明为 MBean 的操作和属性。

 

 

 

<!---->

Testing Annoations

 

 

<!----><!----> <!---->

这组 annotations 主要用来建立 JUnit4 风格的单元测试,但前提是得依赖于 Spring context 中定义的 beans 或一个 transactional context

 

 

 

 

 

 

 

全文完

 

25
7
分享到:
评论
36 楼 index.jsp 2010-01-09  
谢谢楼主分享
35 楼 fisher-fisher 2009-02-25  
楼主辛苦了,谢谢楼主!!!
34 楼 norwind 2009-02-08  
很好很好的文档

谢谢楼主
33 楼 lanbomb 2008-12-12  
非常感谢,支持楼主
32 楼 lujiawu12 2008-12-05  
下了好东西还是应该顶下楼主的
31 楼 daoyongyu 2008-12-04  
楼主辛苦了。谢谢哈。
30 楼 walsh 2008-12-02  
楼主辛苦了,谢谢楼主!!!
29 楼 chaoao 2008-11-25  
lz辛苦了
28 楼 vdgame 2008-10-10  
谢谢你的文档!
27 楼 xiaoqulai 2008-09-03  
楼主头像好漂亮
26 楼 Yangjinghuan 2008-09-02  
感谢楼主无私奉献的精神.你是咱们的榜样.
25 楼 陈新杰 2008-08-15  
24 楼 zhenzhongwang 2008-08-07  
支持!
楼主辛苦了!
23 楼 littleJava 2008-07-24  
谢谢楼主!
22 楼 littleJava 2008-07-24  
谢谢楼主!
21 楼 rinniclyks 2008-07-18  
谢谢分想,PDF收了
20 楼 xzj127 2008-07-17  
谢谢分享..
19 楼 andy54321 2008-07-17  
好东西

share good
18 楼 phpxiaoxin 2008-07-16  
学习中..........
17 楼 cnpww 2008-07-16  
算是  美女

相关推荐

    《精通Spring 4.x 企业应用开发实战》高清完整PDF版 下载

    精通Spring+4.x++企业应用开发实战.pdf 个人收集电子书,仅用学习使用,不可用于商业用途,如有版权问题,请联系删除!

    精通J2EE——Eclipse+Struts+Hibernate+Spring整合应用案例(pdf完整版).part2-1

    精通J2EE——Eclipse+Struts+Hibernate+Spring...pdf电子书, 包含所有18个章节的完整版, 美中不足的是扫描质量不是很高,且是第一版的,不是目前最新的第二版! 请看清楚了再下,免得后悔! 共有两个部分-这个第一部分!

    Spring静态资源配置原理 2.6.0(csdn)————程序.pdf

    Spring框架中的静态资源配置是其核心功能之一,用于处理应用程序中的静态资源,如CSS、JavaScript、图片等。在Spring Boot中,这个过程被自动化,使得开发者无需编写大量代码即可管理静态资源。在本文中,我们将深入...

    精通J2EE——Eclipse+Struts+Hibernate+Spring整合应用案例(pdf完整版).part2-2

    精通J2EE——Eclipse+Struts+Hibernate+Spring...pdf电子书, 包含所有18个章节的完整版, 美中不足的是扫描质量不是很高,且是第一版的,不是目前最新的第二版! 请看清楚了再下,免得后悔! 共有两个部分-这个第一部分!

    Spring源码解析.pdf

    - **集成测试**:Spring提供了一套完整的测试工具包,简化了单元测试和集成测试的编写。 通过上述内容,我们可以了解到Spring的核心原理之一就是IoC容器的设计与实现,它通过灵活的配置和强大的扩展性为开发者提供...

    Spring5 源码分析(第 2 版) .zip

    Spring Boot简化了Spring应用的初始化和配置,而Spring Cloud则提供了完整的微服务解决方案,包括服务发现、配置中心、负载均衡、熔断机制等。 总的来说,《Spring5 源码分析(第 2 版)》这本书不仅涵盖了Spring5的...

    Spring Framework 6 中文文档

    "Spring"的理解不仅仅是框架本身,它代表了一个完整的生态系统,包括Spring Boot、Spring Cloud等。Spring的历史可以从其诞生背景和演进过程来理解,它从一个轻量级的IoC容器发展成为现代企业级应用开发的基石。设计...

    精通Spring+4.x++企业应用开发实战

    Spring 4.x为企业级Java应用程序开发提供了一套完整的解决方案。通过深入学习Spring框架的核心概念和技术细节,开发者不仅能够构建出高性能、高可用性的应用系统,还能够在快速变化的技术环境中保持竞争力。希望以上...

    精通Spring 4.x 企业应用开发实战 pdf 附source

    首先,书中详细讲解了Spring的核心概念——依赖注入(DI),它是Spring框架的基础。通过DI,我们可以将对象的创建和管理分离,使代码更加灵活和可测试。读者将学习如何使用XML配置、注解以及Java配置来实现DI,以及...

    SPRING攻略 第2版.pdf

    随着Spring框架最新版本——3.0版的发布,Spring平台已经发展成熟,成为Java、Java虚拟机、Groovy、NET或者Action-Script开发人员最强大、最具革命性的解决方案之一。 《Spring攻略(第2版)》是Spring平台的深入指南...

    Spring基础教程.pdf

    ### Spring基础教程知识点详解 #### 一、Spring框架简介与快速入门 - **Spring框架概述**...通过以上步骤,读者不仅能够掌握如何构建一个完整的Spring应用程序,还能深入了解Spring框架的诸多高级特性及其应用场景。

    Spring Boot参考指南.pdf

    - **在不使用parent POM的情况下玩转Spring Boot**:介绍没有parent POM时如何配置项目。 - **改变Java版本**:说明如何更改项目使用的Java版本。 - **使用Spring Boot Maven插件**:指导如何使用Spring Boot的...

    保险架构.pdf————电子版_pdf版

    车险系统架构是现代保险行业在互联网技术推动下,为了适应数字化、平台化发展趋势而产生的一种新型业务架构。它通常包括了从产品设计、报价计算、投保流程管理到客户服务和理赔等多个环节,旨在为保险公司提供一个...

    word、excel、ppt转pdf,spring boot小demo

    本项目是一个基于Spring Boot框架实现的实用工具,用于将Microsoft Office的三种常见文件格式——Word(.docx)、Excel(.xlsx)和PowerPoint(.pptx)转换为PDF格式。这个小Demo提供了完整的功能,无需任何水印,...

    夏昕-SpringGuide(Spring 开发指南).pdf

    BeanFactory提供了延迟加载和单例模式的支持,但在配置复杂的情况下,其配置信息不易于理解和修改。 - **ApplicationContext**:是BeanFactory的扩展,提供了更多面向企业级应用的功能,如国际化支持、事件发布...

    spring-framework 中文文档.pdf

    - **基于Java的配置**:完全使用Java代码来配置Spring容器,提高了灵活性和类型安全性。 #### 实例化一个容器 根据不同的需求,可以通过不同的方式来实例化Spring IoC容器。例如,如果使用XML配置文件,可以通过`...

    【完整版11章】SpringCloud+Kubernetes 微服务容器化交付实战

    课程分享——SpringCloud+Kubernetes 微服务容器化交付实战,完整版11章,附源码。 课程专注于微服务的容器化持续交付实战。你可以理解Spring Cloud基础,掌握微服务的搭建,持续集成,持续测试,持续部署,深入...

Global site tag (gtag.js) - Google Analytics