熬之滴水穿石:Spring--精简的J2EE(3)

                                   45--ApplicationContext

在Spring的框架中,ApplicationContext是最为重要的一个东东。我们可以通过使用ApplicationContext,添加了一些企业级的J2EE特性,如国际化(i18n),定义转换器,设定事件的发布及通知。ApplicationContext实际上是继承BeanFactory接口而来的,所以对于ApplicationContext而言,实际上它就是一个Bean的实例。我们知道Spring中以xml配置居多的类定义。我们可以写一个类,然后完成一个配置文件的编辑工作在Spring中的机制中就是通过它与bean交互的。很多时候都是Spring提供了相关bean的导入功能,这是框架本身能够用到的。

介绍一下这几个吧:classPathxmlapplicationtext:从classPath中读取文件并且加载,FileSystemXmlApplicationtext:从指定的文件系统路径读取文件获取参数并且加载。xmlwebapplicationcontext主要是针对Web应用,通过ContextLoaderListener从内部导入context文件,但也可以在外部使用。这些类的方法相同,但是区别就是装载文件实例化ApplicationContext容器的方式不同,当ApplcationContext实例化完成后,我们就可以通过ApplicationContext获取实例使用了。这些接口代码你可以实际编码使用,反正调用的原理就是如此而已。

ApplicationContext中可以通过ApplicationEvent和ApplicationListener两个类支持事件处理。当然你得实现应用的监听,这得由你的一个bean来实现ApplicationListener.当事件发布到来时,你编写的bean就可以获悉到。当然你也可以使用ApplicationContext的publishEvent()方法来实现自定义的事件。在Spring中主要由3个标准事件:ContextRefreshedEvent ContextClosedEvent RequestHandledEvent。ContextRefreshedEvent表示的是当所有的bean都已经导入,单态bean已经完成实例化。ContextClosedEvent很好理解在ApplicationContext关闭时,这时候意味着所有的单态bean就将over掉。RequestHandledEvent是web特定事件用来通知一个HTTP请求服务,会用到一个Servlet相当于DispatcherServlet,但这是属于Spring框架的。好了,下一个章节说说 beanFactory。

                                                       (未完待续......)

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值