java – @ContextConfiguration中配置类的初始化顺序是否会受
发布时间:2020-12-15 01:28:58 所属栏目:大数据 来源:网络整理
导读:我正在使用@ContextConfiguration批注来管理我的应用程序中的配置.创建配置,以便它们仅提供由给定模块公开的bean.因此,给定模块使用的某些bean不一定是直接导入的.例: configuration --(use)-- module1 --(cannot @Import)-- database -(use)-------------
我正在使用@ContextConfiguration批注来管理我的应用程序中的配置.创建配置,以便它们仅提供由给定模块公开的bean.因此,给定模块使用的某些bean不一定是直接导入的.例:
简而言之,配置使用module1,它需要(但不能直接导入)数据库配置.因此,配置也使用数据库模块. 但似乎解决进口的顺序是相当随机的.即使我使用
这导致初始化的不确定性失败(NoSuchBeanDefinitionException). 有没有办法影响bean的初始化顺序?或者我应该创建@Import沿依赖项的配置的配置叠加?但在这种情况下,同样的问题适用于@Import,因为它必须确保加载依赖项的顺序. 最佳答案
这个问题似乎源于同时可用的不同版本的弹簧.当代码保持运行时,org.springframework.context.annotation.ConfigurationClassParser.collectImports(AnnotationMetadata,Set< Object>,Set< Object>)方法只加载了一小部分@Imports.在解析期间执行被断点暂停时,一切都运行正常.
一旦清理了多个版本的弹簧库,问题就消失了. (至少在十几次运行后它没有出现.) (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容