Spring IOC学习笔记(3)关于bean的生命周期

Spring是可以控制在bean初始化和销毁时 执行我们想要在此过程中执行的某些逻辑

 

1.Bean对象实现Spring中的InitializingBean 和DisposableBean 接口

也可以实现Lifecycle 接口

 

2.通过XML配置指定方法 来实现生命周期管理

<bean id="exampleInitBean" class="examples.ExampleBean" init-method="init"/>
public class ExampleBean {

    public void init() {
        // do some initialization work
    }

}

 

例子中的init方法 讲在bean创建并执行完set后调用

 

销毁时

<bean id="exampleInitBean" class="examples.ExampleBean" destroy-method="cleanup"/>

 

3.在总配置文件beans处 可进行全局的初始化方法的配置

这样我们在创建bean时 如果该bean包含全局设置的初始化方法

则它会被调用

public class DefaultBlogService implements BlogService {

    private BlogDao blogDao;

    public void setBlogDao(BlogDao blogDao) {
        this.blogDao = blogDao;
    }

    // this is (unsurprisingly) the initialization callback method
    public void init() {
        if (this.blogDao == null) {
            throw new IllegalStateException("The [blogDao] property must be set.");
        }
    }

}
<beans default-init-method="init">

    <bean id="blogService" class="com.foo.DefaultBlogService">
        <property name="blogDao" ref="blogDao" />
    </bean>

</beans>

 

如上,beans配置初始化方法为init 则bean创建时 其init方法就作为了初始化方法被程序所调用

 

 

你可能感兴趣的:(spring ioc)