在我的 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(使用前将#替换为@)