/**
* 【循环依赖---@Resource】
* BeanPostProcessor : org.springframework.context.annotation.CommonAnnotationBeanPostProcessor
* org.springframework.beans.factory.config.BeanPostProcessor implementation that supports common Java annotations out of the box, in particular the JSR-250 annotations in the javax.annotation package.
* BeanPostProcessor实现,支持 公共Java注解,特别是 javax.annotation 的注解;
*
* This post-processor includes support for the javax.annotation.PostConstruct and javax.annotation.PreDestroy annotations
* - as init annotation and destroy annotation, respectively - through inheriting from InitDestroyAnnotationBeanPostProcessor with pre-configured annotation types.
* 该BeanPostProcessor支持 javax.annotation.PostConstruct、javax.annotation.PreDestroy(通过继承的InitDestroyAnnotationBeanPostProcessor 实现);
*
*
* public class CommonAnnotationBeanPostProcessor extends InitDestroyAnnotationBeanPostProcessor implements InstantiationAwareBeanPostProcessor, BeanFactoryAware, Serializable {
* public PropertyValues postProcessProperties(PropertyValues pvs, Object bean, String beanName) {}
* }
*
*
* AbstractAutowireCapableBeanFactory#populateBean{
* ...
* if (hasInstAwareBpps) {
* for (BeanPostProcessor bp : getBeanPostProcessors()) {
* ...
* PropertyValues pvsToUse = ibp.postProcessProperties(pvs, bw.getWrappedInstance(), beanName);
* ...
* }
* }
* ...
* }
*/