【问题标题】:Jersey with Spring 4 Dependency Injection带有 Spring 4 依赖注入的 Jersey
【发布时间】:2017-08-28 16:41:11
【问题描述】:

我将使用 Spring 框架版本 4 的依赖注入。我已经看到 Jersey 有其带有插件的 DI
<dependency> <groupId>org.glassfish.jersey.ext</groupId> <artifactId>jersey-spring3</artifactId> <version>2.12</version> </dependency>

Jersey's DI of Spring 是推荐的还是有特殊原因使用它?如果独立使用 Spring 4 DI 会怎样?

还请让我知道将 Spring DI 与 Jersey 集成的任何分步学习资源吗?

【问题讨论】:

    标签: java spring rest jakarta-ee jersey


    【解决方案1】:

    jersey-spring3 扩展不是独立的依赖注入功能,它只是让 Jersey 了解 Spring 的托管 bean 的扩展。

    来自Jersey - Spring DI

    Jersey 提供了一个扩展来支持 Spring DI。这使 Jersey 能够将 Spring bean 用作 JAX-RS 组件(例如资源和提供程序),并且还允许 Spring 注入 Jersey 托管组件。

    ...

    上述模块没有向 Spring 模块添加任何传递依赖,因此您需要将 Spring 3 依赖显式添加到依赖列表中。

    因此,如果您想将 Jersey 与 Spring 一起使用,您需要 jersey-spring3 以及您通常使用的所有 Spring 依赖项。

    顺便说一句,jersey-spring3 扩展是针对 Spring 3 编译的,但应该适用于 Spring 4。请参阅 Using Jersey-spring with Spring 4.0 以获取参考。

    【讨论】:

      【解决方案2】:

      您应该先添加jersey-spring3.jar,就像球衣网站中的文档一样。 对于这个step by step learning source to integration Spring DI with Jersey,您可以在启动应用程序时这样做,调试应用程序。

      找到ServletContainer.class并在init()函数中设置一个breakpoint,这样就可以一步一步的找到了。

      【讨论】:

      • protected void init(WebConfig webConfig) ----- this.containerListener.onStartup(this);
      猜你喜欢
      • 1970-01-01
      • 2022-10-25
      • 1970-01-01
      • 2013-04-19
      • 2021-11-05
      相关资源
      最近更新 更多