zoukankan      html  css  js  c++  java
  • springIOC源码接口分析(十一):ConfigurableApplicationContext

    一 实现接口

    关系图:

    ConfigurableApplicationContext接口实现了三个接口,ApplicationContext, Lifecycle, Closeable,

    ApplicationContext接口详细分析: https://www.cnblogs.com/houzheng/p/11838868.html

    这里主要说一下另外两个接口:

    1 Lifecycle

    Lifecycle接口是启动/停止Bean的生命周期控制方法的通用接口,定义了三个方法:

    public interface Lifecycle {
        /**
         * 启动bean*/
        void start();
    
        /**
         * 停止bean*/
        void stop();
    
        /**
         * 判断Bean是否正在运行*/
        boolean isRunning();
    
    }

    2 Closeable

     是jdk里的接口,在java.io包里,只有一个close方法,实现了Closeable接口的类的对象可以被关闭,调用 close 方法关闭后可释放对象保存的资源,比如(打开文件)

    public interface Closeable extends AutoCloseable {
    
        /**
         * 关闭此流并释放与此流关联的所有系统资源。如果已经关闭该流,则调用此方法无效
         * @throws IOException if an I/O error occurs
         */
        public void close() throws IOException;
    }

    Closeable又实现了AutoCloseable接口,AutoCloseable的出现是为了更好的管理资源,准确说是资源的释放,

    当一个资源类实现了该接口close方法,在使用try-catch-resources语法创建的资源抛出异常后,JVM会自动调用close 方法进行资源释放,

    当没有抛出异常正常退出try-block时候也会调用close方法。像数据库链接类Connection,io类InputStream或OutputStream都直接或者间接实现了该接口

    二 定义方法

    三 设计分析

  • 相关阅读:
    【ES】学习10-聚合3
    Flink – CEP NFA
    cruise-control
    FlinkCEP
    Flink
    SQL Join
    Flink – Stream Task执行过程
    Flink
    Java8
    Flink
  • 原文地址:https://www.cnblogs.com/houzheng/p/11885299.html
Copyright © 2011-2022 走看看