Spring AOP (2) Creación de clases de proxy ProxyFactoryBean
En el caché de tercer nivel introducido por Spring IOC (9), se menciona que AOP crea clases de proxy. Hay dos lugares donde se llama a AbstractAutoProxyCreator.wrapIfNecessary () para crear clases de proxy.
Aquí se declaran tres Beans, uno es RealSubject, otro es Advice y el otro es ProxyFactoryBean.
El tiempo de creación de estos tres beans es diferente: test main crea el sujetoProxy a través de getBean() cuando se activa populateBean y crea el Bean correspondiente al sujeto, mientras que testAdvice pasa por el proceso getBean() instanciado.
Revise nuevamente el proceso getObject de FactoryBean:
BeanFactory normal. getBean("subjectProxy") creará un ProxyFactoryBean, creará una instancia del sujeto en el proceso de llenar el Bean y luego llamará al método getObjectForBeanInstance(). Esta es la diferencia entre un bean y un FactoryBean:
<. p> El proceso anterior se presenta brevemente. El proceso de usar ProxyFactoryBean para crear un objeto proxy se puede demostrar de manera más intuitiva a través de la configuración de XML.spring aop.