我们决定我们所有的模块化代码都应该使用 JSR-330 依赖注入(inject),并且我们已经使用 Guice 2.1SVN 或 Java EE 6 CDI 在几个项目中进行实际注入(inject)并且效果很好。
我们还有一个场景需要找到解决方案,即我们有一个在 Java 5 上运行的嵌入式 Web 容器,我希望能够像在 Java EE 6 中一样使用 JSR-330 注入(inject)部署 WAR 文件.
我发现 GlassFish 和 Resin 4 可以做到这一点,但是 Java EE 6 Web 配置文件对于这个目的来说太大了,因为我们在各自的嵌入式服务器中运行非常小的应用程序。
因此问题是,是否存在一个可以轻松获得原生 JSR-330 支持的 Web 容器,这样我们就可以将现有代码部署到其中(针对 Java 5 编译),而无需完整的 Weld 或WAR 中包含的 Guice-servlet。在调用 web 容器的主代码中放置一个完整的配置套件是非常好的,但我不希望在实际的 web 应用程序部署中有任何 guice/Spring/weld jar。
最佳答案
您是否考虑过使用 Jetty 6 or 7 Embedded ?它是开源的并受 Eclipse 支持,因此将有很长的支持生命周期。我一直将它与 Spring for DI 一起使用,发现它非常轻量级。快速、迭代开发的理想选择。
您的问题在实际应用程序中没有指定 Guice、Spring 或 Weld jar 。 Jetty 允许 configuration of different classpaths ,因此您可以根据需要包含 JSR-330 的必要支持实现。
关于java - 直接支持JSR-330注入(inject)的嵌入式web容器?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4346102/