java - Bean 后处理器实现

标签 java spring-boot

根据Spring Boot文档

An ApplicationContext can autodetect BeanPostProcessor beans in its bean definitions and apply those post-processors to any beans subsequently created

我在主类包中创建了一个自定义bean后处理器类,但它不起作用。这是代码。

public class DataBeanPostProcessor implements BeanPostProcessor, Ordered {
    @Override
    public Object postProcessBeforeInitialization(Object bean, String beanName) throws BeansException {
        LogFactory.getLog(this.getClass()).info("Before Processing- " + beanName);
        return bean;
    }
    @Override
    public Object postProcessAfterInitialization(Object bean, String beanName) throws BeansException {
        LogFactory.getLog(this.getClass()).info("After Processing- " + beanName);
        return bean;
    }


    @Override
    public int getOrder() {
        return Integer.MAX_VALUE;
    }
}

最佳答案

正如daniu在评论中所说,你必须添加@Component

@Component
public class DataBeanPostProcessor implements BeanPostProcessor, Ordered {
    @Override
    public Object postProcessBeforeInitialization(Object bean, String beanName) throws BeansException {
        LogFactory.getLog(this.getClass()).info("Before Processing- " + beanName);
        return bean;
    }
    @Override
    public Object postProcessAfterInitialization(Object bean, String beanName) throws BeansException {
        LogFactory.getLog(this.getClass()).info("After Processing- " + beanName);
        return bean;
    }


    @Override
    public int getOrder() {
        return Integer.MAX_VALUE;
    }
}

关于java - Bean 后处理器实现,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61462049/

相关文章:

java - 带有尾随逗号的有效 Excel 自定义数字被 DecimalFormat 视为格式错误

spring - Spring Cloud 应用程序与 AWS Parameter Store 的集成测试

mysql - com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException : Unknown column '____' in 'field list'

java - 如何在/info 执行器端点中获取 Spring Boot 的版本

java - 在布局转换中为默认动画添加延迟

Java 运算符优先级

spring-boot - Spring Security Oauth oauth2UserService(适用于 github 但不适用于 google)

spring-boot 没有创建 hsqldb 数据库

java - 如何在每个目录存储超过 1000 个文件的情况下在磁盘上传播/散列多个文件?

Java 使用 JCheckboxes 对文件中的数据进行排序