`
zhang_ly520
  • 浏览: 163344 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

spring的加载过程(web) (8)--onRefresh

阅读更多

spring的加载过程(web) (8)--onRefresh 在特殊的context子类中初始化其他的特殊bean.

方法定义:能被复写来添加特殊context刷新工作的模板方法。在实例化单例之前,调用初始化特殊bean.默认是空实现。

 

在AbstractRefreshableWebApplicationContext中进行了实现。初始化主题能力(Initialize the theme capability)

 

实际调用=>UiApplicationContextUtils#initThemeSource(ApplicationContext context)

方法定义:为给定的application context初始化ThemeSource,自动检测一个名字为"themeSource"的bean。 如果没有这样的bean被找到,一个默认的空ThemeSource被使用。

 

1)判断是否存在名字为“ThemeSource”的bean

2)如果存在判断父context是否实现了ThemeSource接口,这个context是否实现了HierarchicalThemeSource接口.如果全部符合,设置父ThemeSource。

3)如果不存在设置判断父context是否实现了ThemeSource接口,如果实现了则实例化DelegatingThemeSource并且设置父ThemeSource。如果没有实现实例化ResourceBundleThemeSource。

 

//=======================================================================

1)DelegatingThemeSource 用来声明所有调用父ThemeSource的空ThemeSource。如果没有父ThemeSource是可用的,他不能简单的解决任何信息。 如果context没有定义自己的ThemeSource,被用作AbstractApplicationContext预留的。不打算直接用于应用

2)ResourceBundleThemeSource ThemeSource的为每个theme查找一个单独java.util.ResourceBundle 的实现。theme名字被解释为ResourceBundle的基本名字,支持一个公用的前缀为所有theme.

 

3)UiApplicationContextUtils 有用的类对于 UI application context实现。提供一个特殊的名字叫"themeSource"和类型是 org.springframework.ui.context.ThemeSource的bean.

分享到:
评论

相关推荐

    spring核心源码详细解读

    其中,IoC容器是Spring框架的核心组件之一,它主要负责Bean的生命周期管理,包括创建、配置、装配等过程。本文将重点围绕Spring IoC容器的实现原理进行深入分析。 #### 二、IoC容器实现详解 ##### 2.1 IoC容器简介...

    Spring源码学习九:DispatcherServlet初始化源码分析1

    Spring源码学习九:DispatcherServlet初始化源码分析1 ...结论:DispatcherServlet的初始化过程是SpringMVC框架中非常重要的一部分,它 plays a critical role in the initialization of the Spring MVC framework.

    详解Spring mvc DispatchServlet 实现机制

    在`initServletBean()`中,会触发`onRefresh()`方法,此方法用于刷新Spring在Web功能实现中所需的全局变量,包括: - **初始化MultipartResolver**:处理文件上传。 - **初始化LocaleResolver**:处理国际化配置。 ...

    java知识1点的总结

    Java编程语言是面向对象的、跨平台的编程语言,它被广泛应用于开发各种软件系统,包括Web应用、桌面应用和企业级应用等。对于初学者和有经验的开发者来说,Java都是一个强大且灵活的选择。 在Java的IoC(Inversion ...

    SpringMVC的源码解析

    在初始化过程中,DispatcherServlet首先通过ServletConfigPropertyValues获取web.xml中的配置参数,并利用BeanWrapper来设置这些参数。在web.xml中,通常会配置一个contextConfigLocation参数,它指定Spring MVC的...

Global site tag (gtag.js) - Google Analytics