gpt4 book ai didi

java - BeanPostProcessor 不为 @Bean 方法调用 Spring Java Config

转载 作者:行者123 更新时间:2023-11-29 03:20:30 24 4
gpt4 key购买 nike

我正在尝试在我的 Spring Java 配置中添加一个 BeanPostProcessor。它似乎但仅适用于通过组件扫描创建的 bean(@Configuration、@RestController、..)

我在 Java 配置中创建的 Bean 不是。

例如

@Configuration
public class MyConfiguration
{
@Bean
public MyBean myBean()
{
return new MyBean();
}


@Bean
public static MyBPP myBeanPostProcessor()
{
return new MyBPP();
}
}

请注意,我确实将 BeanPostProcessor 的方法声明为静态的(参见 http://forum.spring.io/forum/spring-projects/container/123899-beanpostprocessor-with-bean-annotation-not-working)。

因此创建了一个 MyBean 实例,但 BeanPostProcessor 永远不会处理它。

最佳答案

试试我的测试,它对我有用

class MyBPP implements BeanPostProcessor {

@Override
public Object postProcessBeforeInitialization(Object bean, String beanName) {
System.out.println(bean);
return bean;
}

@Override
public Object postProcessAfterInitialization(Object bean, String beanName) {
return bean;
}
}

@Configuration
public class MyConfiguration {
@Bean
public MyBean myBean() {
return new MyBean();
}

@Bean
public MyBPP myBeanPostProcessor() {
return new MyBPP();
}

public static void main(String[] args) {
new AnnotationConfigApplicationContext(MyConfiguration.class);
}
}

关于java - BeanPostProcessor 不为 @Bean 方法调用 Spring Java Config,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23912134/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com