在bean 实例化时,进行某种操作,可以继承`BeanPostProcessor`,缺点是每创建一个bean都会执行 postProcessBeforeInitialization()和postProcessAfterInitialization() 方法

@Service
public class Test1ServiceImpl implements BeanPostProcessor,Test1Service{

    @Override
    public void test1() {
        System.out.println("test1");
    }

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

    @Override
    public Object postProcessAfterInitialization(Object bean, String beanName)
            throws BeansException {
        System.out.println("postProcessAfterInitialization");
        return bean;
    }

}

 

推荐使用  ApplicationContextAware 

@Service
public class Test2ServiceImpl implements ApplicationContextAware,Test2Service{

    @Override
    public void test2() {
        System.out.println("test2");
    }

    @Override
    public void setApplicationContext(ApplicationContext arg0) throws BeansException {
        System.out.println("setApplicationContext");
    }

}

 

相关文章:

  • 2021-11-07
  • 2022-12-23
  • 2022-12-23
  • 2021-11-24
  • 2021-12-01
  • 2022-12-23
  • 2022-12-23
  • 2021-10-19
猜你喜欢
  • 2021-06-14
  • 2021-06-08
  • 2021-10-28
  • 2021-12-19
  • 2022-03-08
相关资源
相似解决方案