Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/351.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何避免使用Spring Boot由另一个库配置外部库_Java_Configuration_Spring Boot_Component Scan - Fatal编程技术网

Java 如何避免使用Spring Boot由另一个库配置外部库

Java 如何避免使用Spring Boot由另一个库配置外部库,java,configuration,spring-boot,component-scan,Java,Configuration,Spring Boot,Component Scan,假设我有两个Spring boot项目。第一个项目只是一个提供各种功能的支持库。第二个是“主”项目(主库),它使用支持项目(jar) 支持库有一些服务,应该由主项目自动连接 如何配置支持库,以便主库不必对支持库进行任何配置。本质上,我说的是组件扫描 到目前为止,我读到的是,主库必须在组件扫描中包含支持库的包。这是真的吗?我希望不是,因为在我看来,一个支持库应该自己进行所有配置,而仅仅使用这个支持库的另一个库(或项目)不应该处理支持库的配置 本质上,我想知道一个支持库是否可能通过@Configur

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

支持库有一些服务,应该由主项目自动连接

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

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


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

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

诀窍如下

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

@SpringBootApplication
public class SupportLibApplication {
}
主项目也有一个配置类。诀窍是在主项目的配置类中包含支持类的配置类。这是我丢失的一环。 主项目的配置类现在如下所示:

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

好吧,我自己找到了解决办法

诀窍如下

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

@SpringBootApplication
public class SupportLibApplication {
}
主项目也有一个配置类。诀窍是在主项目的配置类中包含支持类的配置类。这是我丢失的一环。 主项目的配置类现在如下所示:

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

您需要在项目中添加一个依赖项
spring引导配置处理器
,如前面提到的@M.Deinum。这是一个工作的链接。然而,在使用此方法时,我还没有找到一种拥有多个bean的方法


另一种方法是在堆栈溢出中显示。

您需要在项目中添加一个依赖项
spring-boot配置处理器
,如前面提到的@M.Deinum。这是一个工作的链接。然而,在使用此方法时,我还没有找到一种拥有多个bean的方法


另一种方法是堆栈溢出。

或者,当您使用Spring Boot时,请阅读关于如何创建自己的自动配置的部分,您可以省略导入,只需添加依赖项。或者,当您使用Spring Boot时,阅读有关如何创建自己的自动配置的部分,您可以省略导入,只需添加依赖项。