Maven - Spring 从接口引用 Bean
Maven - Spring Refer Bean from Interface
我有以下情况,需要有关如何处理的建议。
我的项目是 spring 的 Maven 模块。
我有以下模块。
1.module一个-WAR
2.module B - WAR
3.module C - JAR
模块依赖如下
模块 A 和 B 有模块 C 作为依赖项。
我有一个与模块A相关的服务,实现是在模块A中完成的。这个服务需要被模块B访问。现在我做的是引入一个接口到模块C(jar)来访问这项服务。实现留在模块 A 上(真正属于哪个服务)。模块B通过接口访问该服务,工程编译。但问题是 spring 无法在模块 B 中为该服务创建 bean。这是可以理解的,因为 bean(实现)从不存在于模块 B 的依赖列表中。我该如何解决这个问题?我不想将整个服务移至模块 B,因为它会产生巨大的重复代码。
" The implementation is left on module A ( which service really
belongs)."
不应该,因为模块 A 和模块 B 是两个不同的 WAR,它们之间实际上没有任何关系。
如果您希望每个 WAR 在运行时保存实现,则应在每个 WAR.
中包含组件实现
实现应该在一个通用的 jar 中:模块 C 或另一个。
现在,如果您希望此实现提供的服务仅在模块 A 中。模块 A 构建的 WAR 应该公开一个服务(例如 REST)以允许模块 B叫它。
但我不确定你是否想这样做。
This is actually shared service but the most of this responsibility
belongs to module A. Moving this module C means adding unnecessary
responsibility to module C
也许您可以在模块 C 中实现共享功能,并将具有额外职责的服务扩展到模块 A
我有以下情况,需要有关如何处理的建议。
我的项目是 spring 的 Maven 模块。
我有以下模块。
1.module一个-WAR
2.module B - WAR
3.module C - JAR
模块依赖如下
模块 A 和 B 有模块 C 作为依赖项。
我有一个与模块A相关的服务,实现是在模块A中完成的。这个服务需要被模块B访问。现在我做的是引入一个接口到模块C(jar)来访问这项服务。实现留在模块 A 上(真正属于哪个服务)。模块B通过接口访问该服务,工程编译。但问题是 spring 无法在模块 B 中为该服务创建 bean。这是可以理解的,因为 bean(实现)从不存在于模块 B 的依赖列表中。我该如何解决这个问题?我不想将整个服务移至模块 B,因为它会产生巨大的重复代码。
" The implementation is left on module A ( which service really belongs)."
不应该,因为模块 A 和模块 B 是两个不同的 WAR,它们之间实际上没有任何关系。
如果您希望每个 WAR 在运行时保存实现,则应在每个 WAR.
实现应该在一个通用的 jar 中:模块 C 或另一个。
现在,如果您希望此实现提供的服务仅在模块 A 中。模块 A 构建的 WAR 应该公开一个服务(例如 REST)以允许模块 B叫它。
但我不确定你是否想这样做。
This is actually shared service but the most of this responsibility belongs to module A. Moving this module C means adding unnecessary responsibility to module C
也许您可以在模块 C 中实现共享功能,并将具有额外职责的服务扩展到模块 A