/**
* 代理对象的创建,通过BeanPostProcessor实现
*
* AbstractAutowireCapableBeanFactory#initializeBean{
* wrappedBean = applyBeanPostProcessorsAfterInitialization(wrappedBean, beanName);
* }
*
* ->
* AbstractAutowireCapableBeanFactory#applyBeanPostProcessorsAfterInitialization
*
* ->
* AbstractAdvisingBeanPostProcessor#postProcessAfterInitialization
*
*
* eg:
* 1、@Async
* org.springframework.scheduling.annotation.AsyncAnnotationBeanPostProcessor
*
* private, default, protected, public 都可以生成代理对象
*
* 2、@Transactional
* org.springframework.aop.framework.autoproxy.InfrastructureAdvisorAutoProxyCreator
*
* 仅 public 可生成代理对象
*/