《Spring2.0 技术手册》读书笔记五-与Spring容器的交互(2)

CSDN博客排版确实不好看!不过技术氛围好,是毋庸置疑的了。。。

接上篇继续学习。。。

上篇学习了如何在Bean中获得容器(BeanFactory,ApplicationContext)、Bean事后处理器和容器事后处理器。就是在容器加载定义文件、设置依赖关系、实例化Bean这个过程中,我们进行点干预。

下面说下ApplicationContext中两个方法的使用:

获得资源-getResource()

 

解析文字消息-getMessage()

      这个方法可以用于国际化消息实现,但是需要借助类org.springframework.context.support.ResourceBundleMessageSource.

直接见代码!

定义文件定义ResourceBundleMessageSource实例,设置属性basename,指定配置文件:

定义消息文件:messages_zh_CN.properties中可以写"userLogin=用户{0} 于{1}登录",messages_en_US.properties中可以写"userLogin=user {0} login at {1}"。其中{0},{1}为占位符,需要注意的是messages_zh_CN.properties的保存方式需为unicode,可以用ultraedit另存为时选择unicode编码方式保存。

获得消息:

 

 

事件的监听与传播

在Spring应用执行期间,ApplicationContext本身就会发布一系列事件,所有的事件都是抽象类org.springframework.context.ApplicationEvent的子类。如ContextClosedEvent:在ApplicationContext关闭时发布的事件;ContextRefreshedEvent:在ApplicationContext初始化或Refresh时发布的事件;RequestHandledEvent:在web应用中,请求被处理时发布的事件。这些事件都不需要我们自己定义,倒是监听这些事件需要我们实现。

监听器可以实现org.springframework.context.ApplicationListener接口,并在定义文件中定义该监听器实例就可以了。

 

要想发布事件通知监听器,可以使用ApplicationContext的publishEvent(new ApplicationEvent())方法。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值