zoukankan      html  css  js  c++  java
  • 生命周期-@Bean指定初始化和销毁方法

    通过在@Bean注解中添加 initMethod和destroyMethod来指定bean的初始化和销毁方法

    @Configuration
    public class MainConfigOfLifeCycle {
    
        @Bean(initMethod = "init", destroyMethod = "destroy")
        public Car car() {
            return new Car();
        }
    }
    public class Car {
    
        public Car() {
            System.out.println("car construct ....");
        }
    
        public void init() {
            System.out.println("init method");
        }
    
        public void destroy() {
            System.out.println("destroy method");
        }
    }
    public class IOCTestLifCycle {
        private ApplicationContext getContext() {
            AnnotationConfigApplicationContext context = new AnnotationConfigApplicationContext(MainConfigOfLifeCycle.class);
            System.out.println("容器创建完成");
            return context;
        }
    
        @Test
        public void test01() {
            AnnotationConfigApplicationContext context = (AnnotationConfigApplicationContext) getContext();
    
            context.close();
        }
    }
    car construct ....
    init method
    容器创建完成
    五月 24, 2019 2:52:56 下午 org.springframework.context.annotation.AnnotationConfigApplicationContext doClose
    信息: Closing org.springframework.context.annotation.AnnotationConfigApplicationContext@161cd475: startup date [Fri May 24 14:52:56 CST 2019]; root of context hierarchy
    destroy method

    需要注意的是,多实例情况下,容器关闭时不会调用bean的销毁方法。

  • 相关阅读:
    MapReduce Shuffle 和 Spark Shuffle 原理概述
    Kafka生产消费API JAVA实现
    Kylin引入Spark引擎
    CentOS 下安装 Cmake 步骤
    TP5 使用验证码功能
    连接树莓派中的MySQL服务器
    用 PHP 函数变量数组改变代码结构
    表的优化
    Wamp 下运行 CGI 笔记
    PHP 中的关于 trait 的简单
  • 原文地址:https://www.cnblogs.com/AyasatoMayoi/p/10918207.html
Copyright © 2011-2022 走看看