Spring boot 如何从模块在spring引导配置类中使用@AutoConfigureOrder

Spring boot 如何从模块在spring引导配置类中使用@AutoConfigureOrder,spring-boot,module,spring-autoconfiguration,Spring Boot,Module,Spring Autoconfiguration,在我的spring boot项目中,我使用了一个模块,它提供了一个@Configuration类。配置是通过应用程序中的@Import(ConfigurationFromModule.class)导入的 模块的配置需要在某个自动配置之前进行。不幸的是,定义配置顺序的注释似乎在模块类中被忽略 我用@AutoConfigureBefore({somebuildinitiationtoconfiguration.class})注释了配置,但仍然somebuildinitiationtoconfigur

在我的spring boot项目中,我使用了一个模块,它提供了一个
@Configuration
类。配置是通过
应用程序中的
@Import(ConfigurationFromModule.class)
导入的

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

我用
@AutoConfigureBefore({somebuildinitiationtoconfiguration.class})
注释了配置,但仍然
somebuildinitiationtoconfiguration
是在
ConfigurationFromModule
之前触发的

出于好奇,我试图用
@AutoConfigureOrder(1)
@Primary
注释模块的
配置,但它们没有改变任何东西

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


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

如果某些类在类路径中或不在类路径中,Spring自动配置提供基本配置

如果您希望按顺序配置,可以使用
@DependsOn

@DependsOn("One") 
public class Two{
    
}
这有助于创建bean“一”,然后创建bean“二”

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


如果Bean One有一个autowired属性或类型为2的构造函数参数,spring知道它必须在1之前实例化2。

DependsOn是另一种方法-在内置自动配置之前,我需要从模块中加载自定义类。DependsOn只会确保在加载自定义类之前完成一些内置自动配置