?? injectbeanselfprocessor.java
字號:
/**
* InjectBeanSelfProcessor.java 1.0 2007-8-6 上午01:33:26,創(chuàng)建 by yangfan
*/
package aop;
import org.springframework.beans.BeansException;
import org.springframework.beans.factory.BeanFactory;
import org.springframework.beans.factory.BeanFactoryAware;
import org.springframework.beans.factory.config.BeanPostProcessor;
/**
*
* @author yangfan
* @version 1.0 2007-8-6 上午01:33:26,創(chuàng)建
*/
public class InjectBeanSelfProcessor implements BeanPostProcessor,BeanFactoryAware
{
private BeanFactory beanFactory;
public Object postProcessAfterInitialization(Object bean, String beanName) throws BeansException
{
// System.out.println("bbb::" + bean.getClass());
if(bean instanceof BeanSelfAware)
{
System.out.println("beanname==>" + beanName);
// Object proxyBean = beanFactory.getBean(beanName);
Object proxyBean = bean;
System.out.println("inject proxy," + proxyBean.getClass());
BeanSelfAware myBean = (BeanSelfAware)bean;
myBean.setSelf(proxyBean);
return myBean;
}
return bean;
}
public Object postProcessBeforeInitialization(Object bean, String beanName) throws BeansException
{
return bean;
}
public void setBeanFactory(BeanFactory beanFactory) throws BeansException
{
this.beanFactory = beanFactory;
}
}
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -