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>