1

假设我有两个 Spring Boot 项目。第一个项目只是一个提供各种功能的支持库。第二个是使用支持项目(jar)的“主”项目(主库)。

支持库有一些服务应该由主项目自动装配。

如何配置支持库,使主库不必对支持库进行任何配置。本质上,我说的是组件扫描。

到目前为止我所读的是,主库必须在组件扫描中包含支持库的包。这是真的吗?我希望不会,因为在我看来,支持库应该自己完成所有配置,而另一个仅使用该支持库的库(或项目)不应该处理支持库的配置。

本质上,我想知道支持库是否有可能通过@Configuration注释或类似(或@SpringBootApplication)配置自己,以便另一个库不必处理另一个库的所有细节。我真的希望这确实能以某种方式起作用,因为我认为另一个库必须完成这项工作,因为它支持库的配置。

4

2 回答 2

0

好的,我自己找到了解决方案。

诀窍如下。

在支持项目中有一个配置类(我已经有了,但没有考虑在内)。配套库的配置类基本如下:

@SpringBootApplication
public class SupportLibApplication {
}

主项目也有一个配置类。诀窍是在主项目的配置类中包含支持类的配置类。这是我缺少的链接。主项目的配置类现在看起来像:

@SpringBootApplication
@Import({SupportLibApplication.class})
public class QuestApplication extends WebMvcConfigurerAdapter {
…
}
于 2016-08-04T20:10:55.727 回答
0

您需要spring-boot-configuration-processor在项目中添加一个依赖项,例如 @M。Deinum 提到。这是一个工作示例的链接。但是,在使用这种方法时,我还没有找到拥有多个 bean 的方法。

Stack Overflow 上的这个答案显示了另一种方法。

于 2018-10-19T15:52:26.627 回答