希望届时能见到您。
消息驱动 POJO!
在所有新的 Spring 2.0 功能和改进中,我必须承认消息驱动 POJO 是我个人最喜欢的功能之一。我有一种感觉,许多其他 Spring 用户也会有同感。
我在这里提供一个快速介绍。还有很多内容要展示,我会在后续帖子中继续。不过,就目前而言——这应该能为您提供足够的信息,让您开始使用一些真正基于 POJO 的异步 JMS!我希望您和我一样对此感到兴奋 ;)
先决条件
您需要在类路径中包含以下 JAR 文件。我还列出了我正在使用的版本(任何 spring-2.x 版本都应该可以。事实上,我大约在 2 分钟前才将 RC3 放在那里)
- activemq-core-3.2.2.jar
- concurrent-1.3.4.jar
- geronimo-spec-j2ee-managment-1.0-rc4.jar
- commmons-logging-1.0.4.jar
- log4j-1.2.9.jar
- jms-1.1.jar
- spring-2.0-rc3.jar
设置环境
首先,我们需要设置环境。我将使用 ActiveMQ,但更改提供商的影响将仅限于此文件中的修改。我将此文件命名为“shared-context.xml”,因为正如您很快将看到的那样,我将为 JMS 通信的两端导入这些 Bean 定义。以下是“共享”Bean 定义:连接工厂和两个队列(一个用于请求,一个用于回复)
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans.xsd">
<bean id="requestQueue" class="org.activemq.message.ActiveMQQueue">
<constructor-arg value="requestQueue"/>
</bean>
<bean id="replyQueue" class="org.activemq.message.ActiveMQQueue">
<constructor-arg value="replyQueue…使用 Spring 2.0 和 AspectJ 简化企业应用
我为 InfoQ 网站撰写的一篇文章刚刚上线:《使用 Spring 2.0 和 AspectJ 简化企业应用》。
我听到很多人说“AOP太难了”,或者“AOP让事情变得太复杂了”。在某种程度上,本文的写作就是为了反驳这些观点(因此标题是“简化企业应用开发”)。我的意思是,AOP的全部意义在于,它能让你处理那些变得复杂和纠缠不清的软件,并通过引入切面让每个模块再次拥有单一职责来简化实现。当然,对于一些…
在 Spring 中使用 JPA,而无需引用 Spring
Spring 2.0 添加了对 JPA 数据访问标准的支持,包含人们所期望的所有标准 Spring 支持类。Mark Fisher 有一篇很棒的帖子,讲解了如何使用这一新支持。然而,我们一直收到的问题是,为什么有人会想要使用 Spring 类(JpaTemplate)来访问一个 EntityManager。这个问题的最佳答案在于 JpaTemplate 提供的附加价值。除了提供 Spring 数据访问的标志性一行式便捷方法外,它还提供了自动参与事务和从 … 翻译的功能
关于 Spring 的 10 个常见误解
昨天有几篇帖子与即将出版的《Spring 2 初学者指南》一书有关,我想在这里指出这些帖子。
首先,由于这本书将吸引 Spring 新手——甚至那些此刻只是好奇的人,我们决定最好能包含一些关于 Spring 常见误解的讨论。这些误解已在此处发布:
http://www.oreillynet.com/onjava/blog/2006/08/ten_common_misconceptions_abou.html
以及 Apress 博客上:http://ablog.apress.com/?p=1221。
其次,Interface21 的 Steven Devijver,本书不知疲倦的主要作者,发布了一篇精彩的概述:
http://blog.interface21.com/main/2006/08/03/finishing-beginning-spring-2-from-novice-to-professional/.
《Spring 2入门:从新手到专业》一书将于今年十月上市。它旨在为Spring新用户提供温和的入门指导,但即使您已经使用Spring框架一段时间,它对于“填补空白”也将非常有用。换句话说,本书涵盖了广泛的内容:Spring容器、AOP、数据访问、MVC等等。内容包括许多Spring 2.0新特性——最值得注意的是,整整一章探讨了Spring全新改进的AOP方法,例如基于XSD的AOP命名空间、与AspectJ切点表达式语言的集成以及@AspectJ集成!(别担心,Spring 2向下兼容——迁移路径也很简单)。本书始终在理论与示例之间提供务实的平衡。这些示例由一个有趣的示例应用程序(不过于简单)支持。当Steven邀请我贡献一些练习时,我个人非常高兴——这是他为初学者提供优秀资源的又一个绝妙主意。第一组练习涵盖了几种依赖注入技术,从基本装配到使用FactoryBeans和外部化属性文件。第二组练习侧重于AOP——包括新的命名空间和@AspectJ风格。
我们期待在本书发布后有一个活跃的配套网站,当然,您也可以继续在 Interface21 团队博客上找到许多关于 Spring 2.0 功能的精彩讨论和示例。
12月在佛罗里达好莱坞体验 Spring
在过去的一个月里,Jay Zimmerman 和我一直在努力规划 The Spring Experience 2006 (TSE)。创建一个一流的技术会议绝非易事——需要花费数小时才能找到演讲者和内容的完美组合。
我很自豪地说,我们现在准备推出一个前所未有的盛会。来看看吧!
我希望在那里见到你。以下是我认为这场展会与众不同之处- 55 场九十分钟的会议,分布在 5 个会场,为期 3 天,全部在一个五星级海滨度假村举行。
- 关于 Spring 2.0 的独家高级技术内容。一半的会议由核心 Spring 开发者领导,他们内外兼修地运用最新的 Spring 功能。这包括 Rod Johnson、Juergen Hoeller、Adrian Colyer、Rob Harrop、Colin Sampaleanu、Ben Alex、Arjen Poutsma、Erwin Vervaet 以及我本人。
- 来自领先 Java 软件创新者的前沿会议。这包括 Eclipse RCP 和 Equinox 项目负责人 Jeff McCaffer;Groovy 项目负责人 Guillaume LaForge;JMX 负责人 Eamonn McManus;BEA Kodo JPA 负责人 Patrick Linskey;以及 Java Persistence Architecture (JPA) 负责人 Mike Keith。
- 来自著名行业专家的真实世界洞察。这包括《领域驱动设计》这本经典著作的作者 Eric Evans;软件业务专家、《超越软件架构》一书的作者 Luke Hohmann;Interface21 首席专家、《AspectJ 实战》一书的作者 Ramnivas Laddad;《敏捷开发者实践》一书的作者 Venkat Subramanium;InfoQ.com 的创始人 Floyd Marinescu;解决方案架构师 Mark Richards (IBM) 和 Jim Clark (Oracle);以及易用性专家、《内容与风格》一书的作者 Mike Stenhouse。
- 会议结束后可优先获取所有会议的同步音频幻灯片,确保您不错过任何一个细节。
- 注册费包含全套早餐、午餐和晚餐。
- “会见大师”用户 BOF。这是 Spring 用户与 Spring 项目负责人互动的绝佳机会。
- 两场精彩派对,一场是周五晚上,一场是周六下午在海滩上的派对,还有一场 Spring 用户 vs. 开发者排球比赛。
- 酷炫的会议纪念品。数量众多。注册参与者将获得全通会议通行证、一个定制(且非常酷)的 TSE 笔记本电脑包、一个定制设计的笔记本活页夹、一件限量版 TSE 2006 T恤,甚至还有一条官方 TSE 2006 沙滩巾。您还将有机会赢取 iPod 和 XBox 360。
- 多样性。无论您是硬核企业开发者、Web 应用开发者,还是领先的软件架构师,本次会议都能满足您的需求。去年的展会吸引了来自 20 个国家的 250 人。今年我们预计将有来自 25 多个国家的 500 名与会者。这将是一场充满乐趣、绝佳学习和交流机会的盛会。
Spring 2.0 中的 AOP 配置选择
在 Interface21 工作有很多理由值得喜爱,但最棒的无疑是与行业领导者们一起工作。例如,Spring 2.0 的主要关注点之一是改进 AOP 支持。我们添加了新的配置命名空间、AspectJ 切入点语言以及对 @AspectJ 切面的支持。但这留下了一个大问题:在 Spring 2.0 中编写切面的首选方式是什么?由于我是 I21 的员工,我很幸运能直接从源头获得答案。
我向Interface21的首席科学家Adrian Colyer提出了这个问题,他…
完成《Spring 2 初学者指南:从新手到专业人士》
为了庆祝 i21 团队博客的推出,我借此机会介绍一本即将出版的 Spring 新书。书名为《Spring 2 初学者指南:从新手到专业人士》,由 Apress 出版。我与 Mark Fisher (i21)、Bram Smeets (DWR 名人) 和 Seth Ladd (《专家 Spring MVC 和 Web Flow》名人) 合著了这本书。Rob Harrop 担任技术审阅。
这本书的目标读者——你可能已经猜到了——是Spring框架的初级用户。关于Spring有趣的一点是,你在某些领域总是新手。这个框架提供了如此多的功能…
您对 Spring 2.0 有什么期待?
Spring 2.0 即将到来,我个人感到非常兴奋。我仍然记得去年在 The Spring Experience 上第一次听说所有新功能时的情景。异步 JMS 消息接收和与 AspectJ 的 AOP 集成最让我兴奋(实际上有点流口水),但即使在那时,还有许多其他改进,而且这个列表还在不断增长。
唉,我知道你们大多数人不像我一样是中间层极客,那么你们对什么感到兴奋呢?新的 XML 方言和 XSD 支持?改进的 JSP 标签库?那又是什么呢?<tx:annotation-driven />?也许你喜欢 Groovy…
