zoukankan      html  css  js  c++  java
  • 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();
        }

    运行结果:

    注意:

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

  • 相关阅读:
    String to Integer (atoi)
    Reverse Integer
    ZigZag Conversion
    01-GIT
    04-Eclipse操作SVN
    03-客户端访问SVN服务器
    02-Subversion安装与配置
    01-SVN概述
    09-Spring整合之SSH
    08-Spring的事务管理
  • 原文地址:https://www.cnblogs.com/lyh233/p/12441418.html
Copyright © 2011-2022 走看看