SpringFramework

IOC容器中Bean的生命周期

2019-07-15  本文已影响0人  逗比寨主

IOC容器中Bean的生命周期

1.SpringIOC管理Bean的生命周期

Spring运行Bean在生命周期的特定点执行定制任务

SpringIOC容器对Bean的生命周期管理的过程:

1.创建Bean的实例

2.赋值

3.调用Bean的初始化方法

4.容器关闭时,调用Bean的销毁方法

在xml中生命init-method和destory-method属性,为Bean指定初始化和销毁方法

2.调用init-method和destory-method

Java代码

package com.spring.cycle;

public class CycleCar {
    private String brand;

    public String getBrand() {
        return brand;
    }

    public void setBrand(String brand) {
        this.brand = brand;
    }

    public void init(){
        System.out.println("init");
    }

    public void destory(){
        System.out.println("destory");
    }

    public CycleCar() {
        System.out.println("CycleCar");
    }
}

xml代码:

<bean id="cycleCar" class="com.spring.cycle.CycleCar" init-method="init" destroy-method="destory">
    <property name="brand" value="BMW"></property>
</bean>

3.创建Bean后置处理器

bean后置处理器语序在调用初始化方法前后对Bean进行操作

bean后置处理器会对IOC容器的逐一处理所有Bean实例,而不是单一实例处理

Java 代码:

package com.spring.cycle;

import org.springframework.beans.BeansException;
import org.springframework.beans.factory.config.BeanPostProcessor;

public class MyPostProcessor implements BeanPostProcessor {
    @Override
    public Object postProcessBeforeInitialization(Object o, String s) throws BeansException {
        System.out.println("before  " + s);
        return o;
    }

    @Override
    public Object postProcessAfterInitialization(Object o, String s) throws BeansException {
        System.out.println("after   " + s);
        return o;
    }
}

xm代码:

<bean class="com.spring.cycle.MyPostProcessor"></bean>
上一篇下一篇

猜你喜欢

热点阅读