Spring bean 生命周期

来源:互联网 发布:淘宝曼妮芬内衣怎么样 编辑:程序博客网 时间:2024/06/07 06:29
public class Car {public Car(){System.out.println("构造方法");}private String brand;public String getBrand() {return brand;}public void setBrand(String brand) {this.brand = brand;}public void init(){System.out.println("生命周期开始");}public void destroy(){System.out.println("生命周期结束");}}


//生命bean

<bean id="car" class="com.huoxin.bean2.Car" init-method="init" destroy-method="destroy"><property name="brand" value="suiyi"></property></bean>

创建IOC  在调用bean

ClassPathXmlApplicationContext ctx = new ClassPathXmlApplicationContext("beans-spel.xml");Car car = (Car) ctx.getBean("car");

结果

构造方法生命周期开始com.huoxin.bean2.Car@6d4b1c02生命周期结束




MyBeanPostProcessor

在生命周期前后执行

配置bean

<bean class="com.huoxin.bean2.MyBeanPostProcessor"></bean>

创建MyBeanPostProcessor

public class MyBeanPostProcessor implements BeanPostProcessor {@Overridepublic Object postProcessAfterInitialization(Object bean, String beanName) throws BeansException {// TODO Auto-generated method stubSystem.out.println("偷梁换柱1"+bean +"::"+beanName);return bean;}@Overridepublic Object postProcessBeforeInitialization(Object bean, String beanName) throws BeansException {// TODO Auto-generated method stubSystem.out.println("偷梁换柱2"+bean +"::"+beanName);return bean;}}

执行结果

构造方法偷梁换柱2com.huoxin.bean2.Car@6d4b1c02::car生命周期开始偷梁换柱1com.huoxin.bean2.Car@6d4b1c02::carcom.huoxin.bean2.Car@6d4b1c02生命周期结束



1 0
原创粉丝点击