throws BeansException {
System.out.println("我把:" + beanName + "实例化化之后的操作");
return bean;
}
}
[java]
package www.csdn.spring.dao;
import org.springframework.beans.BeansException;
import org.springframework.beans.factory.config.BeanPostProcessor;
public class BeanPostProcessorImpl implements BeanPostProcessor {
@Override
public Object postProcessBeforeInitialization(Object bean, String beanName)
throws BeansException {
System.out.println("我把:" + beanName + "实例化化之前的操作");
return bean;
}
@Override
public Object postProcessAfterInitialization(Object bean, String beanName)
throws BeansException {
System.out.println("我把:" + beanName + "实例化化之后的操作");
return bean;
}
}
package www.csdn.spring.dao;
import org.springframework.beans.BeansException;
import org.springframework.beans.factory.config.BeanPostProcessor;
public class BeanPostProcessorImpl implements BeanPostProcessor {
@Override
public Object postProcessBeforeInitialization(Object bean, String beanName)
throws BeansException {
System.out.println("我把:" + beanName + "实例化化之前的操作");
return bean;
}
@Override
public Object postProcessAfterInitialization(Object bean, String beanName)
throws BeansException {
System.out.println("我把:" + beanName + "实例化化之后的操作");
return bean;
}
}
在配置文件中配置实体Bean和BeanPostProcessorImpl 特殊的Bean
[html]
< xml version="1.0" encoding="UTF-8" >
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans.xsd">
scope="singleton" lazy-init="false" init-method="init" destroy-method="close">
[html]
< xml version="1.0" encoding="UTF-8" >
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans.xsd">
scope="singleton" lazy-init="false" init-method="init" destroy-method="close">
< xml version="1.0" encoding="UTF-8" >
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans.xsd">
scope="singleton" lazy-init="false" init-method="init" destroy-method="close">
创建测试类BeanTest
[java]
package www.csdn.spring.bean.cycle;
import org.junit.Test;
import org.springframework.context.ApplicationContext;
import org.springframework.context.ConfigurableApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;
public class BeanTest {
@Test
public void test() {
ApplicationContext context = new ClassPathXmlApplicationContext(
"classpath:spring-dao.xml");
// 强制造型
ConfigurableApplicationContext cont = (ConfigurableApplicationContext) context;
// 执行关闭 可以考到 destory-method的方法的执行
cont.close();
}
}
[java] view plaincopyprint package www.csdn.spring.bean.cycle;
import org.junit.Test;
import org.springframework.context.ApplicationContext;
import org.springframework.context.ConfigurableApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;
public class BeanTest {
@Test
pub