InitializingBean
InitializingBean接口为bean提供了初始化方法的方式,它只包括afterPropertiesSet方法,凡是继承该接口的类,在初始化bean的时候都会执行该方法。
public class MyServiceImpl implements MyService, InitializingBean {
@Override
public void afterPropertiesSet() throws Exception {
System.out.println("AfterPropertiesSet method: myServiceImpl");
}
}
BeanPostProcessor
BeanPostProcessor接口提供了初始化bean时的前置接口和后置接口,我们只需要实现BeanPostProcessor中对应的接口就可以bean初始化前后做自己的逻辑处理。(BeanPostProcessor的前置和后置方法会在每个bean初始化的时候调用,个人不推荐使用)
@Component
public class MyCustomBeanPostProcessor implements BeanPostProcessor {
@Override
public Object postProcessBeforeInitialization(Object bean, String beanName) throws BeansException {
System.out.println("BeanPostProcessor Before init: " + beanName)