我有一个第三方@Configuration
类,它定义了一个我想用自己的版本替换的bean,但是我不想排除该配置,因为它定义了我需要的许多其他bean。相反,我想实现以下目标:
@Configuration
class ThirdPartyConfig {
...
// unfortunately, there's no @ConditionalOnMissingBean annotation here
@Bean
internal fun someBean() = ...
}
@Configuration
@Import(ThirdPartyConfig::class)
class MyLocalConfig {
// overrides "someBean" in `ThirdPartyConfig`
@Bean(overrideExistingBeanWithSameNameIfAny = true)
fun someBean() = ...
}
Spring / Spring Boot中有可能吗?
最佳答案
您可以将@Primary
注释用于您的自定义bean。
@Configuration
@Import(ThirdPartyConfig::class)
class MyLocalConfig {
@Primary
@Bean
fun someBean() = ...
}
关于java - 如何在本地覆盖特定的Spring bean,而不是允许全局bean定义覆盖?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60885288/