injectbeanselfprocessor.java

来自「Spring AOP演示程序」· Java 代码 · 共 51 行

JAVA
51
字号
/**
 * InjectBeanSelfProcessor.java 1.0 2007-8-6 上午01:33:26,创建 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,创建
 */
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 + =
减小字号Ctrl + -
显示快捷键?