Spring - IoC 源码阅读笔记:AbstractApplicationContext - onRefresh()

in TCEHJava with 0 comment

前言

  Spring Boot Web 使用的 IoC 实现类为 ServletWebServerApplicationContext,该类继承了 GenericWebApplicationContext 并重写了 onRefresh() 方法。

onRefresh() 方法

    @Override
    protected void onRefresh() {
        super.onRefresh();
        try {
            // 创建运行 Web 服务器。如Tomcat、Jetty、Undertow等
            // 流程还是蛮复杂的,这里暂时略过
            createWebServer();
        }
        catch (Throwable ex) {
            throw new ApplicationContextException("Unable to start web server", ex);
        }
    }

onRefresh() 方法

GenericWebApplicationContext#onRefresh

    @Override
    protected void onRefresh() {
        // 初始化主题资源
        this.themeSource = UiApplicationContextUtils.initThemeSource(this);
    }