Spring创建Bean过程的方法
来源:才华咖 本文已影响2.54W人
来源:才华咖 本文已影响2.54W人
1. beans包提供了以编程方式管理和操作bean的基本功能,而context包增加了ApplicationContext,它以一种更加面向框架的方式增强了BeanFactory的功能。
2. context包的基础是位于ext包中的ApplicationContext接口。它是由 BeanFactory接口派生而来的,提供了BeanFactory的所有功能。为了以一种更面向框架的方式工作,使用分层和继承关系的上下文,context包还提供了一下的功能。
a. MessageSource,对I18N消息的访问。
b. 资源访问,例如URL和文件
c. 事件传递给是吸纳了ApplicationListener接口的bean
d. 载入多个(有继承关系)上下文,使得每一个上下文都专注于一个特定的层是,比如应用的web层。
国际化支持
1. ApplicationContext扩展了MessageSource接口,因而提供了messaging的功能(I18N或者国际化)。同 NestingMessageSource一起使用,还能处理分级的信息,这些是spring提供的处理信息的基本接口。
2. 当一个ApplicationContext被加载时,它会自动查找在context中定义的MessageSource bean.这个bean必须交做messageSource.如果找了这样一个bean,所有对上述方法的调用将被委托给找到的 messageSource.如果没有找到messageSource,ApplicationContext将会尝试查找他的父亲是否包含有同名的 bean.如果有,它将把找到的bean作为MessageSource.如果他没有找到任何的信息处理源,他会创建一个 StaticMessageSource.
3. Spring目前提供了两个MessageSource的实现,他们是
ResourceBundleMessageSource和StaticMessageSource.两者都实现了 NestingMessageSource一边能够处理嵌套的信息。StaticMessageSource很少被使用,但是他提供了编程的方式向 source增加信息,我们经常使用的是ResourceBundleMessageSource.
在Spring中使用资源
1. ApplicationContext继承了ResourceLoader接口,在这个接口中,定义了getResource()方法,如下:
Resource getResource(String location)
该方法返回一个资源句柄。这个句柄应该总是一个可重复使用的资源描述符,允许多次调用getInputStream();
2. getResource()方法的`参数是一个资源访问地址,例如:
file:c:/
classpath:(从classpath路径中查找文件并返回他的资源句柄)
WEB-INF/
注意:getResource()方法返回的Resource句柄并不意味着资源实际存在,你需要调用Resource接口的exists()方法判断资源是否存在。
Resource提供了与协议无关的特性。
事件传递
1. ApplicationContext中的时间处理是通过AppcationEvent类和ApplicationListener接口来提供的。如果上下文中部署了一个实现了ApplicationListener接口的bean,每次一个ApplicationEvent发布到 ApplicationContext时,那个bean就会被通知。实质撒谎功能,这是标准的Observer设计模式。
2. Spring提供的三个标准事件
a. ContextRefreshedEvent
当ApplicationContext已经初始化或刷新后发送的事件。这里初始化意味着:所有的bean被装载,singleton被预实例化,以及ApplicationContext已经准备好。
b. ContextClosedEvent
当使用ApplicationContext的close()方法结束上下文的时候发送的事件。这里意味着:singleton被销毁。
c. RequestHandledEvent
一个与web相关的事件,告诉所有的bean一个HTTP请求已经被响应了(这个时间将会在一个请求结束后被发送—)。注意,这个时间只能应用于使用了Spring的DispatcherServlet的web应用。
英语阅读:Web Boosts Grandpas Brain
Deng Yaping Presentation英语作文
An interesting experience为题目的作文
关于女性的英语作文:Inspiring women leading the way
英语满分作文:Reading-TheBestMeanstoAcquireknowledge
Should Private Cars Be Encouraged in China高中英语作文
Why Public Speaking Is So Important 公共演说的重要性大学英语
Brain training rules大脑训练法则英语阅读
Diaspora Finance Powers Global Development美文欣赏
Unit six Opening and Closing Ceremonies口译材料
Java类如何获取Spring的bean
Java认证考试知识点:Spring获取Bean四种方法
解析Spring中bean的scope
英语阅读:Covergirl unveils empowering brand update
In campus big pine tree小学英语作文
探究建筑工程管理的关键点与创新方法
WebSphere MQ Solution Designer认证考试
高中优秀英语作文An Unforgettable Experience
Language Barrier Between Chi英语阅读
BeingaLittlePrincess高中英语作文
英语优秀作文:M Unfrgettable Experiences
英语写作范文:Thanksgiving parents
公共英语二级写作Preserving Natural Resources
我的英语演讲稿living at present is my top concern
大学英语六级范文欣赏Traveling by Train or by Plane
CentOS上搭建Nginx+Mono运行asp.net环境配置教程
关于JavaScript substring()的使用方法
解决PHP的failed opening required问题的方法
高中英语作文ImpressiononKungFuPanda
The Opinion of Buying Cars英语作文
JAVA编程String和StringBuffer
英语作文Thanksgiving parents
Spring创建Bean过程的方法
套色剪纸过程方法
平安细胞工程创建方案
分享SAT阅读练习题:Reading Comprehension Test 14
Abut M Teaching f English Writing为题目的作文
JavaScript在Android的WebView中parseInt函数转换不正确
商务英语写作prevent、prohibit和ban的使用方法及区别
英语作文:An unforgettable experience