1

如何将 Spring BeanPostProcessor配置为仅使用 xml 配置或注释为一组定义的 Spring 托管 bean 调用?

4

1 回答 1

2

我怀疑你是否可以纯粹通过 xml 配置/注释来控制。但是,您可以在 BeanPostProcessor 的代码中控制它:

public Object postProcessBeforeInitialization(Object bean, String beanName) {
    if (thisBeanIsOfConcernToMe(bean, beanName){
      doPostProcessTasks()...
    }
}

如果此 BeanProcessor 不在您的控制之下,那么重写 bean 并将某些自定义条件委托给父级将是另一种方法:

public MyBeanProcessor extends NotUnderControlBeanPostProcessor {
....
    public Object postProcessBeforeInitialization(Object bean, String beanName) {
        if (thisBeanIsOfConcernToMe(bean, beanName){
          return super.postProcessBeforeInitialization(bean, beanName)
        }else{
             return bean;
        }
    } 
}
于 2013-06-22T01:05:20.940 回答