1 回答
TA贡献1859条经验 获得超6个赞
问题如下:
带有@Configuration要被覆盖的 bean 类型声明的注解的类AnnotationTypeAnnotationBeanPostProcessor没有导入声明 bean 的原始 Configuration 类。
出于某种原因,似乎 Spring 要求在按名称提供 bean 时显式设置它以覆盖 bean。我找不到原因。
明确地说,解决方案是更改包含覆盖 bean 的配置类声明:
@Configuration
public class SomeConfig() {
@Bean(name = {SPRING_LIB_BEAN_NAME})
public static AnnotationTypeAnnotationBeanPostProcessor annotationTypeAnnotationBeanPostProcessor() {
return new AnnotationTypePostProcessor();
}
到:
@Configuration
@Import(OriginalConfigurationClassContainingBeanBelow.class)
public class SomeConfig() {
@Bean(name = {SPRING_LIB_BEAN_NAME})
public static AnnotationTypeAnnotationBeanPostProcessor annotationTypeAnnotationBeanPostProcessor() {
return new AnnotationTypePostProcessor();
}
在那之后,Spring 总是使用被覆盖的 bean。
添加回答
举报