spring

ApplicationContext:
1. 国际化支持
我们可以在Beans.xml文件中,对程序中的语言信息(如提示信息)进行定义,将程序中的提示
信息抽取到配置文件中加以定义,为我们进行应用的各语言版本转换提供了极大的灵活性。

定义在bean.xml中
<beans>
<description>Spring Quick Start</description>
<bean id="messageSource"
class="org.springframework.context.support.ResourceB
undleMessageSource">
<property name="basenames">
<list>
<value>messages</value>
</list>
</property>
</bean>
</beans>

这里声明了一个名为messageSource的Bean(注意对于Message定义,Bean ID必须为messageSource,这是目前Spring的编码规约),对应类为ResourceBundleMessageSource,目前Spring中提供了两个MessageSource接口的实现,即ResourceBundleMessageSource和ReloadableResourceBundleMessageSource,后者提供了无需重启即可重新加载配置信息的特性。
在配置节点中,我们指定了一个配置名“messages”
所以,我们定义的资源文件命名为:
messages_zh_CN.properties
messages_en_US.properties

以系统默认Locale加载信息(对于中文WinXP而言,默认为zh_CN)
如果设置英文的话,

ApplicationContext ctx=new
FileSystemXmlApplicationContext("bean.xml");;
String msg = ctx.getMessage("userinfo", arg, Locale.US);;

属性文件转码:

native2ascii messages_zh_CN.properties msg.txt

一般我们应用在ant 部署的时候,用task :Native2Ascii

比较一下struts里配置,
struts配置是在strut-config.xml中。
<message-resources parameter="classpath.ApplicationResources"/>
对struts源码没看,应该同样通过ResourceBundle取得信息。

2. 资源访问
支持对文件和URL的访问。

Resource rs = ctx.getResource("classpath:config.properties");;
File file = rs.getFile();;

3. 事件传播
事件传播特性为系统中状态改变时的检测提供了良好支持。
ApplicationContext基于Observer模式(java.util包中有对应实现),提供了针对Bean的事件传播功能。通过Application. publishEvent方法,我们可以将事件通知系统内所有的ApplicationListener。
事件传播的一个典型应用是,当Bean中的操作发生异常(如数据库连接失败),则通过事件传播
机制通知异常监听器进行处理。
4. 多实例加载
可以在同一个应用中加载多个Context实例。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值