spring国际化文件的读取,指定路径

有关spring的国际化,我相信很多人还是喜欢把资源文件用单独的目录来进行管理的,但是网络上的大部分资料并没有介绍如何在spring加载资源文件时使用你指定的目录。

看了一下源码的注释,然后自己测试了一下,终于搞明白了spring是如何加载国际化的资源文件的。直接看代码吧。

<bean id="messageSource" class="org.springframework.context.support.ResourceBundleMessageSource">
   <property name="basename" value="18n/message" />
 </bean>

 

根据spring的源码注释,加载国际化文件取决于basename属性,如果basename的值的形式为包的形式,如org.springframework之类的,它将进入lib根目录下进行寻找。如果不是这种形式,那么它将进入classpath:根路径下进行寻找,也就是在WEB-INF/classes根目录下寻找,注释里面没有写明,如何指定classes下的子目录。

所以我自己尝试写了一下,在classes下建立子目录18n.将basename的值指定为18n/message,

发现是行得通的,以后可以随意指定自己的国际化文件目录了,不错。

你可能感兴趣的:(spring,Web,bean)