Java Spring Tutorial -- Bean Post Processors

来源:互联网 发布:磁链下载软件 编辑:程序博客网 时间:2024/04/30 06:17


package com.zxl.spring;import org.springframework.context.support.ClassPathXmlApplicationContext;public class SpringApp15 {public static void main(String[] args) {// TODO Auto-generated method stubClassPathXmlApplicationContext context=new ClassPathXmlApplicationContext("SpringBeans.xml");context.close();}}

package com.zxl.spring;import org.springframework.beans.factory.DisposableBean;import org.springframework.beans.factory.InitializingBean;public class SpringBean01 implements InitializingBean ,DisposableBean {@Overridepublic void afterPropertiesSet() throws Exception {// TODO Auto-generated method stubSystem.out.println("SpringBean01.afterPropertiesSet()...");;}@Overridepublic void destroy() throws Exception {// TODO Auto-generated method stubSystem.out.println("SpringBean01.destroy()...");}}

package com.zxl.spring;public class SpringBean02 {}

package com.zxl.spring;import org.springframework.beans.BeansException;import org.springframework.beans.factory.config.BeanPostProcessor;import org.springframework.beans.factory.config.DestructionAwareBeanPostProcessor;public class SpringContainerBean implements DestructionAwareBeanPostProcessor {@Overridepublic void postProcessBeforeDestruction(Object springBean, String springBeanName) throws BeansException {// TODO Auto-generated method stubSystem.out.println("SpringContainerBean.postProcessBeforeDestruction-->"+"Bean_Class_Name = "+springBean.getClass().getSimpleName()+" and bean_name = "+springBeanName);}@Overridepublic Object postProcessAfterInitialization(Object springBean, String springBeanName) throws BeansException {// TODO Auto-generated method stubSystem.out.println("SpringContainerBean.postProcessAfterInitialization-->"+"Bean_Class_Name = "+springBean.getClass().getSimpleName()+" and bean_name = "+springBeanName);System.out.println("------------------");return springBean;}@Overridepublic Object postProcessBeforeInitialization(Object springBean, String springBeanName) throws BeansException {// TODO Auto-generated method stubSystem.out.println("SpringContainerBean.postProcessBeforeInitialization-->"+"Bean_Class_Name = "+springBean.getClass().getSimpleName()+" and bean_name = "+springBeanName);return springBean;}}

<?xml version="1.0" encoding="UTF-8"?><beans xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"    xmlns="http://www.springframework.org/schema/beans"    xsi:schemaLocation="http://www.springframework.org/schema/beanshttp://www.springframework.org/schema/beans/spring-beans-3.0.xsd" ><bean id="springContainerBean" class="com.zxl.spring.SpringContainerBean"/>   <bean id="springBean01" class="com.zxl.spring.SpringBean01"/>   <bean id="springBean02" class="com.zxl.spring.SpringBean02"/>   </beans>