8、spring注解学习(bean的生命周期)——让Bean实现InitializingBean,DisposableBean这两个接口进而实现初始和销毁方法

1、创建Tiger类实现InitializingBean,DisposableBean接口,并通过@Component将该组件注入

@Component
public class Tiger implements InitializingBean,DisposableBean{

    public Tiger() {
        System.out.println("Tiger的构造方法执行了。。。");
    }

    /**
     * 此方法就是在调用构造方法之后属性都赋完值就执行
     */
    @Override
    public void afterPropertiesSet() throws Exception {
        System.out.println("Tiger的初始化方法执行了。。。");
    }

    @Override
    public void destroy() throws Exception {
        System.out.println("Tiger的销毁方法执行了。。。");
    }

}

2、在spring配置类中扫描Tiger所在包,使得Tiger能注入容器

/**
 * 测试bean的生命周期的配置
 */
@Configuration
@ComponentScan(value="com.atguigu")
public class MainConfigOfLifeCycle {

}

3、创建测试方法进行测试

    /*
     * 测试通过让Bean实现InitializingBean,DisposableBean这两个接口进而实现初始和销毁方法
     */
    @Test
    public void test02() {
        AnnotationConfigApplicationContext applicationContext = new AnnotationConfigApplicationContext(MainConfigOfLifeCycle.class);
        applicationContext.close();
    }

运行结果:

注意:

   单例对象:在容器创建时就注入,另外调用了初始化方法,容器关闭前执行了销毁方法
   多例对象:只有在获取的时候容器才给构造并调用初始化方法,另外容器不会调用多例对象的销毁方法

原文地址:https://www.cnblogs.com/lyh233/p/12441418.html

时间: 2024-10-11 19:52:48

8、spring注解学习(bean的生命周期)——让Bean实现InitializingBean,DisposableBean这两个接口进而实现初始和销毁方法的相关文章

Spring的Bean的生命周期以及Bean的后置处理器

Bean的生命周期: Spring IOC 容器可以管理 Bean 的生命周期, Spring 允许在 Bean 生命周期的特定点执行定制的任务. Spring IOC 容器对 Bean 的生命周期进行管理的过程: 1通过构造器或工厂方法创建 Bean 实例 2为 Bean 的属性设置值和对其他 Bean 的引用 3调用 Bean 的初始化方法(可以人为指定,利用Bean标签的inti-method属性指定初始化方法,不指定就默认忽略这步骤) Bean 可以使用了 4当容器关闭时, 调用 Bea

Spring-2、Spring Bean 的生命周期

Spring框架中,一旦把一个Bean纳入Spring IOC容器之中,这个Bean的生命周期就会交由容器进行管理,一般担当管理角色的是BeanFactory或者ApplicationContext,认识一下Bean的生命周期活动,对更好的利用它有很大的帮助: 下面以BeanFactory为例,说明一个Bean的生命周期活动 Bean的建立, 由BeanFactory读取Bean定义文件,并生成各个实例 Setter注入,执行Bean的属性依赖注入 BeanNameAware的setBeanNa

spring中的bean的生命周期

bean的生命周期:bean的创建 —— 初始化 ——销毁的过程 容器管理bean的生命周期,我们可以自定义初始化和销毁方法,容器在bean进行到当前生命周期就会调用我们的方法 在xml配置文件中是在bean的标签内使用init-method和destroy-method <bean id="person" class="com.springbean.Person" init-method="" destroy-method="&

Spring:Spring中bean的生命周期

Spring中,从BeanFactory或ApplicationContext取得的实例为Singleton(单例模式),就是预设为每一个Bean的别名只能维持一个实例,而不是每次都产生一个新的对象使用Singleton模式产生单一实例,对单线程的程序说并不会有什么问题,但对于多线程的程序,就必须注意安全(Thread-safe)的议题,防止多个线程同时存取共享资源所引发的数据不同步问题. 然而在spring中 可以设定每次从BeanFactory或ApplicationContext指定别名并

Spring注解驱动第八讲--容器中bean的生命周期

bean的生命周期指的就是bean在容器中的: 创建-->初始化-->销毁; 以上的过程都是由容器来进行管理. 我们可以自定义初始化和销毁方法,的那个进行到当前bean的生命周期的时候,调用我们自己定义的初始化方法和销毁方法.那么自定义初始化和销毁方法有以下四种方式: 1,指定初始化和销毁方法: 在以往使用xml配置文件的时候可以在<bean>标签中加上"init-method"和"destory-method"属性来指定自定义的初始化和销毁

MyEclipse Spring 学习总结二 Bean的生命周期

文件结构可以参考上一节 Bean的生命周期有方法有:init-method,destroy-method ApplicationContext.xml 文件配置如下: <?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/

Spring官网阅读系列(九):Spring中Bean的生命周期(上)

在之前的文章中,我们一起学习过了官网上容器扩展点相关的知识,包括FactoryBean,BeanFactroyPostProcessor,BeanPostProcessor,其中BeanPostProcessor还剩一个很重要的知识点没有介绍,就是相关的BeanPostProcessor中的方法的执行时机.之所以在之前的文章中没有介绍是因为这块内容涉及到Bean的生命周期.在这篇文章中我们开始学习Bean的生命周期相关的知识,整个Bean的生命周期可以分为以下几个阶段: 实例化(得到一个还没有经

Spring容器中Bean的生命周期

日出日落,春去秋来,花随流水,北雁南飞,世间万物皆有生死轮回.从调用XML中的Bean配置信息,到应用到具体实例中,再到销毁,Bean也有属于它的生命周期. 人类大脑对图像的认知能力永远高于文字,因此,闲言少叙,书归正传,上图先: 步骤很多,切莫惊慌,我们可以把上面的步骤归纳如下: 1-2:创建实例: 现在假设spring就是个容器,而配置文件中配置的bean属性才是我们真正需要的东西.创建实例就是说,我把配置文件中的bean信息取出来化作一个真正的bean并放到容器中. 3-4:注入依赖关系:

[原创]java WEB学习笔记101:Spring学习---Spring Bean配置:IOC容器中bean的声明周期,Bean 后置处理器

本博客的目的:①总结自己的学习过程,相当于学习笔记 ②将自己的经验分享给大家,相互学习,互相交流,不可商用 内容难免出现问题,欢迎指正,交流,探讨,可以留言,也可以通过以下方式联系. 本人互联网技术爱好者,互联网技术发烧友 微博:伊直都在0221 QQ:951226918 -----------------------------------------------------------------------------------------------------------------