先行一步
VMware 提供培训和认证,助你快速前进。
了解更多我在前往开罗的路上写下这篇博客。我们正飞过意大利西部,我能清晰地看到意大利的海岸线,海水湛蓝,海浪温柔地涌向岸边。那里的景色一定很美。我去开罗是为了参加由 Ahmed Hashim 组织的埃及用户组会议,我相信他一定会做得非常出色。我将就 Spring 进行演讲,这次的主题是依赖注入、类型安全和 Java 5。昨天(也就是 3 月 14 日),我在荷兰 Loenen 的 Profict 冬令营为大约 60 或 70 名听众做了几乎相同的演讲。
最近有很多关于类型安全、Spring 和其他依赖注入方法的话题。我发现人们太经常地提到 Spring 的依赖注入特性不具有类型安全,更糟糕的是,有人甚至说 Spring 依赖于 XML。由于我不能一直望着飞机窗外(好吧,我可能可以,但这没太大用处),我决定写一篇短博客,介绍 Spring 和 Java 5 的依赖注入的当前状态。
随着 Spring 2.5 中新特性的加入以及 Spring 的子项目 JavaConfig 的出现,关于类型安全以及 Spring 绑定于 XML 的论点已经不再成立。虽然过去我们一直说 Spring 不与 XML 耦合,但表达配置细节的唯一可行选择确实是 XML。但自从 Spring 2.5 以来,这不再是一个理论上的论点;现在有了一个使用纯 Java 配置依赖的切实可用的选项。
JavaConfig 方法也在各种博客文章中进行了更详细的介绍
正如我在 Loenen 和开罗的演讲中也说过的那样,Spring JavaConfig 尚未完成。仍有一些细节需要完善,以创建一个流畅的 DI 语言,支持基于 XML 的 DI 语言所具备的所有特性。在这方面(如果你愿意的话),你可以给我们很大的帮助。尝试 Spring JavaConfig 并告诉我们你的想法!
代码也已附加。它依赖于 JTA API(演示使用了 Hibernate),而 JTA API 没有安装在 Maven Repository 中。 Lucio Benfante 在他的博客中介绍了如何解决这个问题(将 JTA API 安装到你的本地 Repository)。
安装 JTA API 后,运行 com.carplant.plant 包中的 CarPlantIntegrationTests,并阅读类注释。注释解释了如何启用 JavaConfig、Autowire 配置和 XML 配置(JavaConfig 默认已启用)。
[更新] 添加了一个关于 JavaConfig 的资源