[导入]击破谎言: Spring 2.5 并非"完全"支持基于标注的配置

近日看到各大中文网站纷纷呛声说 Spring 2.5 发布, 典型消息如下:

 

来自 Springframework 官方的消息,Spring 2.5 正式发布了。

http://www.springframework.org/node/561

该版本的主要特征包括:
对Spring2.0的平滑升级 —— Spring2.5被设计成为对Spring2.0的平滑升级,现存的代码和配置文件不需要做任何更改。
更多XML命名空间配置 —— 新的命名空间包括和
完全支持Java 6和Java EE 5 —— Spring2.5支持Java 6和Java EE 5的所有新特性——同时也提供了对Java 1.4.2和J2EE1.3的支持。
完全支持基于注解的配置 —— 现在所有的配置都可以使用注解来实现,并且也支持 JSR250 注解。
基于注解的MVC controller —— Web Controller现在可以用如@RequestMapping这样的注解来创建,无需实现任何接口。
对AspectJ的支持 —— 在一些环境下,增加了对AspectJ的装载时编织支持,同时提供了一个新的bean切入点。
对OSGi的支持 —— Spring2.5框架的所有jar包都是兼容于OSGi的,以此来简化在OSGi环境下对其的使用。
测试框架的巨大改变 —— 现在新的基于注解的测试框架已经支持TestNG和JUnit4
性能的改良 —— Spring2.5各方面的性能指标都有了显著的改善。

冲着 完全支持基于注解的配置 这句话, 我兴冲冲的下载了 Spring 2.5 以及其文档, 企图体验一下 EJB 3 式的简单快速的基于标注的开发, 然而, 遗憾的是官方文档和消息的来源页面: http://www.springframework.org/node/561, 没有任何文字说到自己完全支持基于注解的配置. 我打开英文的 Reference, 仔细阅读其中关于标注的部分, 然而遗憾的发现只是部分实现了标注, 请参考 http://static.springframework.org/spring/docs/2.5.x/reference/beans.html#beans-annotation-config , 简单说就是实现了对 Autowired 和 Transaction, AOP 的标注支持, 而不是所有 bean 定义, 更不是说从此你可以不用写 Bean 配置的 XML 文件了. 下午仔细试了半天, 企图写出标注配置的例子来, 也没有成功实现不写 bean 定义 XML 文件就能初始化 Bean 并注入所有属性的功能(本来想做的例子是注入一个 message 的 String 属性), 去阅读下载的示例代码(example目录下的文件), 也没有这样的例子. 最后又发现了原来支持标注的版本在这里:

http://www.jroller.com/habuma/entry/guice_vs_spring_javaconfig_a

它的名字叫 Spring JavaConfig.

最后我们再来看看原始页面是如何介绍自己的标注的(http://www.springframework.org/node/561):

Spring 2.5 enhances Spring 2.0 with many exciting new features, including:
Full Java 6 and Java EE 5 support (JDBC 4.0, JTA 1.1, JavaMail 1.4, JAX-WS 2.0)
Full-featured annotation-driven dependency injection, including support for 'qualifiers' (注意这里只是说完整支持标注驱动的依赖注入, 而不是 complete supported annotation of all features)
Support for auto-detecting application components in the classpath and auto-configuring them as Spring managed objects
A new bean name pointcut element in AspectJ pointcut expressions
Built-in support for AspectJ load-time weaving based on the LoadTimeWeaver abstraction
New XML configuration namespaces "context" and "jms", for maximum convenience
A completely revised integration test framework, with first-class support for JUnit 4 and TestNG
A new annotation-based controller model for Spring MVC supporting Servlet and Portlet environments
Extended SimpleJdbcTemplate functionality, including support for named SQL parameters
Officially certified WebSphere support
The packaging of Spring Framework jars as OSGi-compliant bundles out of the box
The ability to deploy a Spring ApplicationContext as a JCA RAR file, for headless application modules
JCA 1.5 message endpoint management, for Spring-managed JMS and CCI message listeners

小小的兴奋了一把, 最后又不得不归于失望, 继续研究 XML 文件的编写格式吧. 希望下次看到类似消息的时候能翻译的准确一些, 免得误导偶等开源软件"消费者".

 

当然了, 也欢迎 Spring 2.5 高人们向偶分享完全使用标注的例子代码, 那样的话我真是太感谢了!



BeanSoft 2007-11-23 18:14 发表评论

文章来源: http://www.blogjava.net/beansoft/archive/2007/11/23/162700.html

你可能感兴趣的:([导入]击破谎言: Spring 2.5 并非"完全"支持基于标注的配置)