spring的加载过程(web) (6)--initMessageSource 为本context初始化消息源
方法定义:初始化信息源。如果在本context中没定义,用父的messagesource。
1)判断是否包含messageSource这个默认的资源文件处理bean.
<1>如果存在则,使信息源认识父信息源(关联到父信息源)。
<2>反之,用空信息源接收getmessage calls。(new DelegatingMessageSource())
2)判断是否存在父信息源,如果没有注册好父信息源,则只设置父context本身作为父信息源
//===================================================================
1)HierarchicalBeanFactory#containsLocalBean
判断本地的BeanFactory是否包含一个给定名字的bean,忽略定义在祖先的context里的bean
2)BeanFactory#getBean(String name, Class requiredType)
返回一个可能是一个单例或者是共享的特指的bean实例.操作等价于getBean(String)
,但是提供了一个衡量的类型安全的机制,如果bean不是必须类型,则抛出BeanNotOfRequiredTypeException. 意味着当结果是正确的,ClassCastException没有被抛出,跟发生在getBean(String)
一样。
3)HierarchicalMessageSource#setParentMessageSource设置用来尝试解决对象不能解决信息的父资源。
分享到:
相关推荐
11 自己写Spring-6.mp4 12 Spring源码阅读 - this.AnnotatedBeanDefinitionReader-1.mp4 13 Spring源码阅读 - this.AnnotatedBeanDefinitionReader-2 .mp4 14 Spring源码阅读 - this....
11 自己写Spring-6.mp4 12 Spring源码阅读 - this.AnnotatedBeanDefinitionReader-1.mp4 13 Spring源码阅读 - this.AnnotatedBeanDefinitionReader-2 .mp4 14 Spring源码阅读 - this....
11 自己写Spring-6.mp4 12 Spring源码阅读 - this.AnnotatedBeanDefinitionReader-1.mp4 13 Spring源码阅读 - this.AnnotatedBeanDefinitionReader-2 .mp4 14 Spring源码阅读 - this....
11 自己写Spring-6.mp4 12 Spring源码阅读 - this.AnnotatedBeanDefinitionReader-1.mp4 13 Spring源码阅读 - this.AnnotatedBeanDefinitionReader-2 .mp4 14 Spring源码阅读 - this....
Spring MVC的国际化(i18n)是基于Java的国际化机制构建的,它利用Resource Bundle加载对应国家/地区(Locale)的语言资源文件,以便根据用户的语言环境提供相应的信息。Spring MVC通过`ResourceBundleMessageSource...
其中,IoC容器是Spring框架的核心组件之一,它主要负责Bean的生命周期管理,包括创建、配置、装配等过程。本文将重点围绕Spring IoC容器的实现原理进行深入分析。 #### 二、IoC容器实现详解 ##### 2.1 IoC容器简介...
在学习源码时,应重点关注BeanDefinition的创建、加载和实例化过程,理解Spring如何将配置信息转化为运行时的对象。同时,理解BeanFactoryPostProcessor和BeanPostProcessor的作用,以及它们如何扩展Spring的功能,...
Spring IOC 容器的启动流程是一个复杂的过程,它涉及到许多步骤和组件。AbstractApplicationContext 的 refresh 方法是 IOC 容器的核心所在,它实现了容器的启动逻辑。ClassPathXmlApplicationContext 和 ...
`refresh()` 方法是 `ApplicationContext` 初始化和更新的关键步骤,它启动了一个复杂的过程,确保Spring容器能正确地加载和配置所有的Bean。下面我们将深入探讨 `refresh()` 方法的各个步骤以及其背后的原理。 ...
6. **初始化`MessageSource` (`initMessageSource()`)** `MessageSource`组件用于处理国际化消息,它允许应用程序根据用户首选的语言提供本地化的信息。 7. **初始化事件派发器 (`initApplicationEventMulticaster...
总的来说,`refresh()`方法是Spring初始化和更新配置的过程,它是Spring IoC(Inversion of Control,控制反转)容器的核心,使得应用程序能够动态地响应配置变化。这个过程涉及到了Spring的Bean生命周期管理、依赖...
6. **初始化MessageSource组件(initMessageSource())**: 这一步初始化了`ApplicationContext`的消息源,用于处理国际化文件和消息解析。 7. **初始化事件广播器(initApplicationEventMulticaster)**: 创建并...
Spring refresh()方法相关异常解析 Spring 是一个开放源代码的设计层面框架,它解决的是业务逻辑层和其他各层的松耦合问题,因此它将面向接口的编程思想贯穿整个系统应用。Spring 是一个轻量级的 Java 开发框架,由...
6. `initMessageSource()`和`initApplicationEventMulticaster()`初始化了消息源和事件广播器,支持国际化和事件驱动的编程模型。 7. `onRefresh()`方法留给子类实现,可以进行一些特定的初始化操作。 8. `register...