我认为您面临的问题是在解析类@Conditions
时对它们进行评估@Configuration
,因此不能保证SomeProperties
已定义了bean。即使已定义它,您也可能不希望它提早初始化,因此我建议使用其他方法。
您可以尝试一下@ConditionalOnPropety
,这是Spring Boot在有条件地希望基于属性启用自动配置时在内部使用的注释。如果不够灵活,则可以创建自己的Condition
并Environment
直接访问,以判断属性值是否为空。如果要支持灵活绑定,可以使用RelaxedPropertyResolver
。这是一个例子。