spring的加载过程(web) (6)--initMessageSource

阅读更多

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设置用来尝试解决对象不能解决信息的父资源。

你可能感兴趣的:(Web,Spring,Bean)