如何使用Spring Boot

时间:2016-08-04 19:38:17

标签: java configuration spring-boot component-scan

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

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

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

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

本质上我想知道支持库是否有可能通过@Configuration注释或类似(或@SpringBootApplication)配置自己,以便另一个库不必处理所有细节其他图书馆。我真的希望这确实能以某种方式工作,因为我觉得它有点非常有线,另一个库必须为它的配置提供支持库的工作。

2 个答案:

答案 0 :(得分:0)

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

诀窍如下。

在支持项目中有一个配置类(我已经使用过,但没有考虑到它)。 支持库的配置类基本如下:

@SpringBootApplication
public class SupportLibApplication {
}

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

@SpringBootApplication
@Import({SupportLibApplication.class})
public class QuestApplication extends WebMvcConfigurerAdapter {
…
}

答案 1 :(得分:0)

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

answer中有关堆栈溢出的另一种显示方法。