springframework中使用ReloadableResourceBundleMessageSource加载properties文件的问题
2014-04-18 12:32
549 查看
这个问题也困扰了我很久,呵呵。。。以前感觉这个问题很简单,可就是不成功。昨天下午找到了原因。
失败的配置:
按照上述配置,资源文件总是加载不了,但是这里可以把ReloadableResourceBundleMessageSource改为ResourceBundleMessageSource就可以加载了。
问题出在哪儿了呢?
我这里使用的开发ide是JetBrains的Intellij IDEA13,交叉语言开发最好的工具了,在编写过程中提供了很多便利,例如在设置basenames时,自动找到了message、ValidationMessages,对于开发工具来说相信它没错的。结果这里就是不行。
查看源码:
ReloadableResourceBundleMessageSource类中加载properties文件的方法。与Properties prop = new Properties(); prop.load(ins)一样的。
这里的ins就是文件的输入流InputStream,在加载时需要指定加载文件的路径.
因此修改上面的配置如下:
唯一不同的地方就是在message前加入了表明路径的classpath:
失败的配置:
<!-- 国际化的消息资源文件 --> <bean id="messageSource" class="org.springframework.context.support.ReloadableResourceBundleMessageSource"> <property name="defaultEncoding" value="UTF-8"/> <property name="basenames"> <list> <value>message</value> <value>ValidationMessages</value> </list> </property> <property name="cacheSeconds" value="60"/> <property name="useCodeAsDefaultMessage" value="false"/> </bean>
按照上述配置,资源文件总是加载不了,但是这里可以把ReloadableResourceBundleMessageSource改为ResourceBundleMessageSource就可以加载了。
问题出在哪儿了呢?
我这里使用的开发ide是JetBrains的Intellij IDEA13,交叉语言开发最好的工具了,在编写过程中提供了很多便利,例如在设置basenames时,自动找到了message、ValidationMessages,对于开发工具来说相信它没错的。结果这里就是不行。
查看源码:
this.propertiesPersister.load(props, new InputStreamReader(is, encoding));
ReloadableResourceBundleMessageSource类中加载properties文件的方法。与Properties prop = new Properties(); prop.load(ins)一样的。
这里的ins就是文件的输入流InputStream,在加载时需要指定加载文件的路径.
因此修改上面的配置如下:
<!-- 国际化的消息资源文件 --> <bean id="messageSource" class="org.springframework.context.support.ReloadableResourceBundleMessageSource"> <property name="defaultEncoding" value="UTF-8"/> <property name="basenames"> <list> <value>classpath:message</value> <value>classpath:ValidationMessages</value> </list> </property> <property name="cacheSeconds" value="60"/> <property name="useCodeAsDefaultMessage" value="false"/> </bean>
唯一不同的地方就是在message前加入了表明路径的classpath:
相关文章推荐
- Ganymed SSH-2 for Java系列2之连接远程服务器
- Ganymed SSH-2 for Java系列1之 ganymed-ssh2介绍
- JAVA项目工程导入.jar包
- JAVA环境变量
- eclipse使用replace命令替换整个project/workspace的某个字符串
- java环境变量配置
- java观察者模式
- Android Eclipse:Debug Certifica…
- java中上下文(context)的学习总结
- java高并发访问及队列控制解决方案
- Java-列出所有系统属性
- LeetCode – Median of Two Sorted Arrays Java
- Java-一个数组中的元素复制到另一个数组
- Ubuntu 12.04下配置JDK7
- JavaSript之prototype属性
- Java 中的初始化顺序的影响和“overloading”与“overwrite”
- spring3.x读取文件报错
- java判断获取到的中文字符串是否乱码
- [JAVA] [StringUtils] 工具类的方法解释
- Java-将字符串转为数字