如何在模块的 Spring Boot 配置类中使用 @AutoConfigureOrder

2024-01-11

在我的 Spring Boot 项目中,我使用一个模块,它提供了@Configuration班级。配置是通过导入的@Import(ConfigurationFromModule.class) in Application class.

模块的配置需要在某个时间之前进行AutoConfiguration。不幸的是,定义配置顺序的注释似乎在模块类中被忽略。

我用注释注释了配置@AutoConfigureBefore({SomeBuildInAutoConfiguration.class}),但仍然SomeBuildInAutoConfiguration之前被触发过ConfigurationFromModule.

出于好奇我尝试注释ConfigurationFromModule with @AutoConfigureOrder(1) and @Primary- 但他们并没有改变任何事情。

For @Configuration主应用程序中的类所有这些注释都按预期工作。

如何定义模块内自动配置的顺序?


Spring AutoConfiguration 提供了一个基本配置,以确定某些类是否在类路径中。

如果您想要该配置,您可以使用@DependsOn

@DependsOn("One") 
public class Two{
    
}

这可以帮助您创建 bean“一”,然后创建 bean“二”。

Spring 通过分析 bean 类自动检测依赖关系。

如果 Bean One 具有自动装配属性或类型为 Two 的构造函数参数,则 spring 知道它必须在 One 之前实例化 Two。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何在模块的 Spring Boot 配置类中使用 @AutoConfigureOrder 的相关文章

随机推荐