15、生命周期-BeanPostProcessor-后置处理器
package org.springframework.beans.factory.config;
import org.springframework.beans.BeansException;
import org.springframework.lang.Nullable;
public interface BeanPostProcessor {
// 初始化之前
@Nullable
default Object postProcessBeforeInitialization(Object bean, String beanName) throws BeansException {
return bean;
}
// 初始化之后
@Nullable
default Object postProcessAfterInitialization(Object bean, String beanName) throws BeansException {
return bean;
}
}
15.1 编写MyBeanPostProcessor 实现BeanPostProcessor接口
package com.hw.springannotation.beans;
import org.springframework.beans.BeansException;
import org.springframework.beans.factory.config.BeanPostProcessor;
import org.springframework.stereotype.Component;
/**
* @Description 后置处理器
* @Author Administrator
* @Date 2018/11/28
*/
@Component // 将后置处理器加入到IOC容器中
public class MyBeanPostProcessor implements BeanPostProcessor {
/**
* @return 返回之后要用 的 bean
*/
public Object postProcessBeforeInitialization(Object bean, String beanName) throws BeansException {
System.out.println(" postProcessBeforeInitialization" + beanName + "> " + bean);
return bean;
}
public Object postProcessAfterInitialization(Object bean, String beanName) throws BeansException {
System.out.println(" postProcessAfterInitialization" + beanName + "> " + bean);
return bean;
}
}
15.2 测试
![](https://img2018.cnblogs.com/blog/1221855/201811/1221855-20181128225320340-1098219167.png)