我知道bean后处理器它正在工作,但我不确定它将如何帮助我们在现实世界的应用程序。在实际应用中,下面的定义方法应该是什么呢?
1 Some configuration Code?
2 Some validation code for bean ?
public class MyBeanInitProcessor实现BeanPostProcessor {
@Override
public Object postProcessAfterInitialization(Object bean, String beanName)
throws BeansException {
System.out.println("before initialization: "+beanName);
return bean;
}
@Override
public Object postProcessBeforeInitialization(Object bean, String beanName)
throws BeansException {
System.out.println("after initialization: "+beanName);
return bean;
}
}
答案 0 :(得分:2)
在大多数实际应用程序中,您不会直接与它们进行交互。 Spring provides 28 implementations out of the box处理标准功能,如自动装配和应用AOP建议。您可以使用标准Spring功能间接使用它们,例如对方法参数应用验证注释,该方法参数应用MethodValidationPostProcessor
,或者应用@Async
方法调用AsyncAnnotationBeanPostProcessor
。
答案 1 :(得分:0)
BeanPostProcessor是每次初始化bean时运行一些代码的方法。
如果您在postProcessAfterInitialization()中添加了代码,则可以这样做。知道春天,有更好的方法,毫无疑问。不过,对我而言,这将是BeanPostProcessor可能有用的情况。