我从几个网页中注意到 Spring 3.0 显然支持来自 JSR-330 的 @Inject。因为我们真的很想在我们的库中为 Web 应用程序和独立应用程序使用 JSR-299 语法进行依赖注入,并且有 Weld 的替代品,如果 Spring 能够做到这一点会很好。
作为 Spring 的新手,我尝试下载 Spring Framework 发行版并将所有 jar 放在 Eclipse 构建路径上。没有注入注释,所以我现有的使用 Weld 的测试项目没有编译。
这可以用Spring完成吗?我需要做什么才能让它运行?
(我知道 Guice 最终也会支持这个。它现在只在 SVN 中,如果有官方的 Spring 版本可以,那就更好了。)
可以办到。JSR-330 jar 必须单独下载,并且 cglib 来解析手动编写的 @Configuration 类,以及一个公共日志记录实现。
与 Weld 最大的区别似乎是接线需要手动编写而不是神奇地找到(有点麻烦,但可能会使应用程序更健壮),而且启动时间要少得多。我对 Spring 还是很陌生 - 有没有办法自动发现 @Configuration 类?