gpt4 book ai didi

java - Maven - Spring 从接口(interface)引用 Bean

转载 作者:行者123 更新时间:2023-12-01 20:21:00 25 4
gpt4 key购买 nike

我有以下情况,需要有关如何处理的建议。

我的项目是带有 spring 的 Maven 模块。

我有以下模块。

1.模块A-WAR

2.模块B-WAR

3.模块C-JAR

模块依赖如下。

模块 A 和 B 具有模块 C 作为依赖项。

我有一个与模块A相关的服务。实现是在模块A中完成的。该服务需要由模块B访问。现在我所做的是向模块C(jar)引入一个接口(interface)来访问该服务。实现留在模块 A 上(该服务真正属于该模块)。模块B通过接口(interface)和项目编译来访问该服务。但问题是 spring 无法在模块 B 中为该服务创建 bean。这是可以理解的,因为 bean (实现)从未出现在模块 B 的依赖项列表中。我该如何解决这个问题?我不想将整个服务移至模块 B,因为这会导致大量代码重复。

最佳答案

" The implementation is left on module A ( which service really belongs)."

不应该,因为模块 A 和模块 B 是两个不同的 WAR,并且它们之间实际上没有任何关系。
如果您希望每个 WAR 在运行时保存实现,则应在每个 WAR 中包含组件实现。

实现应该在一个公共(public) jar 中:模块 C 或另一个。

现在,如果您希望此实现提供的服务仅在模块 A 中。模块 A 构建的 WAR 应该公开一个服务(例如 REST)以允许模块 B 调用它。
但我不确定您是否想这样做。

关于java - Maven - Spring 从接口(interface)引用 Bean,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44719605/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com