Spring Bean 作用域和生命周期
spring bean默认为单例,避免了对象的频繁创建与销毁,达到了bean对象的复用,性能高。
像表现层、业务层、数据层、工具类对象只需要调用方法,比较适合交给Spring IoC容器管理
但是像那种需要封装实例的域对象,因为会引发线程安全问题,不适合交给Spring IoC容器管理。
Spring 根据 Bean 的作用域来选择 Bean 的管理方式。
综上所述: 为了更好研究如何控制bean周期,下面案例中创建的bean默认都使用单例模式。
由于ApplicationContext类中没有关闭容器的方法,所以想要关闭容器需要用到ApplicationContext的子类——ClassPathXmlApplicationContext类。该类又有两种方法可以关闭容器
Bean 生命周期回调的方法主要有两种:
我们可以通过以下方式 2种方式自定义 Bean 的生命周期回调方法:
我们可以在 Spring Bean 的 Java 类中,通过实现 InitializingBean 和 DisposableBean 接口,指定 Bean 的生命周期回调方法。
注意 :由于通过接口设置生命周期的方式会导致代码的耦合性过高,所以通常情况下,我们会通过xml设置生命周期。
通过 元素中的 init-method 和 destory-method 属性,指定 Bean 的生命周期回调方法。
2024-09-02 广告