- 浏览: 639465 次
- 性别:
- 来自: 北京
最新评论
-
2047699523:
java hibernate demo使用实例教程源代码下载: ...
hibernate延迟加载的原理与实现 -
在世界的中心呼喚愛:
hantsy 写道这种lazy的解释只对了一半,按java p ...
hibernate延迟加载的原理与实现 -
moguicy:
看了下时间,不是楼主是否还在开发
【翻译】Wicket启示录——理论与实践(一) -
xfan0828:
"最后但并不是最不重要的一点就是" BZ, ...
【翻译】深入浅出 EJB3.1(上) -
doudou87323:
十分感谢,正在学习中,受益匪浅
【翻译】深入浅出 EJB3.1(上)
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 。
全文完
- spring配置全书.rar (252.5 KB)
- 描述: spring配置全书PDF完整版
- 下载次数: 3049
评论
谢谢楼主
楼主辛苦了!
share good
发表评论
-
【翻译】深入浅出 EJB3.1(下)
2009-05-07 23:37 8911Global JNDI names( 统一的 全局 ... -
【翻译】深入浅出 EJB3.1(上)
2009-05-06 20:59 11158终于有空将EJB3.1的最新文章与大家分享,原文请看: ht ... -
【翻译】Java EE 6体系结构的变革
2009-02-09 10:01 4525又看到 Reza 同学为 -
【翻译】Java EE 6体系结构的变革(完)
2009-02-09 10:00 6471JSF 2.0 尽 ... -
垃圾收集器是一个“宝贝收藏家”?
2008-11-25 23:58 3077原文请看:http://java.dzone.com/ar ... -
深入理解JBoss Cache3.0——Naga
2008-11-12 09:12 9741原文请看: http://java.dzone.com/ ... -
【翻译】Rod Johnson——关于当选JCP执行委员会的之言片语
2008-11-03 10:42 3189SpringSource 在上月底被宣布被加入 JCP ... -
【翻译】EJB3.1真的来了吗?EJB3.1系列文章(五) 终章
2008-10-16 14:37 9215历时9 个多月的EJB3.1 系列文章终于要划上圆满的句 ... -
【翻译】Rod Johnson——平衡的质疑:Spring维护策略的再次调整(完)
2008-10-09 09:33 4067不管你承不承认,Spring实际上已经是实事上JAVA企业开 ... -
【云计算专家Joseph Ottinger系列】应用服务器本质论
2008-09-08 08:58 3478原文请看: http://www.t ... -
Spring破坏了JEE规范吗?
2008-09-02 13:33 4094[TTS 编辑注:这是 TTS 论坛上的原帖。我现在把它 ... -
【翻译】spring配置全书(上)
2008-07-07 23:11 8947作者简介: Craig Walls 是 Texa ... -
【翻译】EJB3.1真的来了吗?EJB3.1系列文章(四)
2008-06-18 23:10 38218前言 Raza 同学终于又出 EJB3.1 文章了 ... -
【翻译】Rod Johnson——Spring的宣言:开源,开放(完)
2008-06-10 16:51 5614前言 这是本文的第二部分,里面提到并回答许多Spring用 ... -
【翻译】Rod Johnson——Spring的宣言:开源,开放
2008-06-06 13:06 6113原文地址: http://blog.sp ... -
【翻译】EJB3.1真的来了吗?EJB3.1系列文章(三)
2008-05-01 13:53 8836文本继续和大家分享EJB3.1特性,今天谈到的EJB Lite ... -
【Danny hui】运用抽象工厂模式自己动手写一个IoC
2008-04-23 16:34 6357本文的作者Danny hui似乎是TTS上的新人,我从Goog ... -
【翻译】Wicket启示录——理论与实践(三)完
2008-04-11 01:09 6277接下来,我们再看看EditContact类,把新建联系人的话和 ... -
【翻译】Wicket启示录——理论与实践(二)
2008-04-09 23:47 5885第二部分 实践 Application(应用程序) 与 ... -
【翻译】Wicket启示录——理论与实践(一)
2008-04-09 23:15 6807序 Wicket,当多数人看到它时,也许又是带着惯性思考 “j ...
相关推荐
精通Spring+4.x++企业应用开发实战.pdf 个人收集电子书,仅用学习使用,不可用于商业用途,如有版权问题,请联系删除!
精通J2EE——Eclipse+Struts+Hibernate+Spring...pdf电子书, 包含所有18个章节的完整版, 美中不足的是扫描质量不是很高,且是第一版的,不是目前最新的第二版! 请看清楚了再下,免得后悔! 共有两个部分-这个第一部分!
Spring框架中的静态资源配置是其核心功能之一,用于处理应用程序中的静态资源,如CSS、JavaScript、图片等。在Spring Boot中,这个过程被自动化,使得开发者无需编写大量代码即可管理静态资源。在本文中,我们将深入...
精通J2EE——Eclipse+Struts+Hibernate+Spring...pdf电子书, 包含所有18个章节的完整版, 美中不足的是扫描质量不是很高,且是第一版的,不是目前最新的第二版! 请看清楚了再下,免得后悔! 共有两个部分-这个第一部分!
- **集成测试**:Spring提供了一套完整的测试工具包,简化了单元测试和集成测试的编写。 通过上述内容,我们可以了解到Spring的核心原理之一就是IoC容器的设计与实现,它通过灵活的配置和强大的扩展性为开发者提供...
Spring Boot简化了Spring应用的初始化和配置,而Spring Cloud则提供了完整的微服务解决方案,包括服务发现、配置中心、负载均衡、熔断机制等。 总的来说,《Spring5 源码分析(第 2 版)》这本书不仅涵盖了Spring5的...
"Spring"的理解不仅仅是框架本身,它代表了一个完整的生态系统,包括Spring Boot、Spring Cloud等。Spring的历史可以从其诞生背景和演进过程来理解,它从一个轻量级的IoC容器发展成为现代企业级应用开发的基石。设计...
Spring 4.x为企业级Java应用程序开发提供了一套完整的解决方案。通过深入学习Spring框架的核心概念和技术细节,开发者不仅能够构建出高性能、高可用性的应用系统,还能够在快速变化的技术环境中保持竞争力。希望以上...
首先,书中详细讲解了Spring的核心概念——依赖注入(DI),它是Spring框架的基础。通过DI,我们可以将对象的创建和管理分离,使代码更加灵活和可测试。读者将学习如何使用XML配置、注解以及Java配置来实现DI,以及...
随着Spring框架最新版本——3.0版的发布,Spring平台已经发展成熟,成为Java、Java虚拟机、Groovy、NET或者Action-Script开发人员最强大、最具革命性的解决方案之一。 《Spring攻略(第2版)》是Spring平台的深入指南...
### Spring基础教程知识点详解 #### 一、Spring框架简介与快速入门 - **Spring框架概述**...通过以上步骤,读者不仅能够掌握如何构建一个完整的Spring应用程序,还能深入了解Spring框架的诸多高级特性及其应用场景。
- **在不使用parent POM的情况下玩转Spring Boot**:介绍没有parent POM时如何配置项目。 - **改变Java版本**:说明如何更改项目使用的Java版本。 - **使用Spring Boot Maven插件**:指导如何使用Spring Boot的...
车险系统架构是现代保险行业在互联网技术推动下,为了适应数字化、平台化发展趋势而产生的一种新型业务架构。它通常包括了从产品设计、报价计算、投保流程管理到客户服务和理赔等多个环节,旨在为保险公司提供一个...
本项目是一个基于Spring Boot框架实现的实用工具,用于将Microsoft Office的三种常见文件格式——Word(.docx)、Excel(.xlsx)和PowerPoint(.pptx)转换为PDF格式。这个小Demo提供了完整的功能,无需任何水印,...
BeanFactory提供了延迟加载和单例模式的支持,但在配置复杂的情况下,其配置信息不易于理解和修改。 - **ApplicationContext**:是BeanFactory的扩展,提供了更多面向企业级应用的功能,如国际化支持、事件发布...
- **基于Java的配置**:完全使用Java代码来配置Spring容器,提高了灵活性和类型安全性。 #### 实例化一个容器 根据不同的需求,可以通过不同的方式来实例化Spring IoC容器。例如,如果使用XML配置文件,可以通过`...
课程分享——SpringCloud+Kubernetes 微服务容器化交付实战,完整版11章,附源码。 课程专注于微服务的容器化持续交付实战。你可以理解Spring Cloud基础,掌握微服务的搭建,持续集成,持续测试,持续部署,深入...