我正在运行一个Spring Boot 项目,我正在尝试有条件地加载一些bean。我有以下配置文件:
application:
components:
componentA:
- ex1
ex2
ex3
componentB:
- ex1
ex2
ex3
componentC:
- ex1
ex2
ex3
use: componentA
和以下配置类
第一个
即使我在每个配置类上定义了**@ConditionalOnProperty**,它仍然会加载所有配置类。我如何才能只加载componentA的列表而忽略其他2个配置类?谢谢
2条答案
按热度按时间lymnna711#
我想,我会这样做的。(根据后来的评论编辑)
配置部件类:
Bean的基类
ComponentA类别
ComponentB类别:
以及MainConfig,它希望获得“选定”组件:
现在,属性如下所示:
并在控制台日志中显示结果:
类似地,如果属性如下所示:
其结果是:
o8x7eapl2#
这就是我所寻找的行为,但每个组件都应该是这样的列表:
这就是为什么我有MainConfig类与每个列表。