系统经常把一些配置信息放到一个属性文件中,例如一个config.properties文件内容如下:
db.driver=oracle.jdbc.OracleDriver
db.url=jdbc:oracle:thin:@localhost:1521:hjn
db.user=crddev
db.password=hjn
#jndi\u6570\u636e\u6e90\u914d\u7f6e
db_jndi_name=hjn
db_jndi_url=t3://localhost:7001
众所周知,spring已经实现了国际化功能,因此我们可以借助spring现有的功能来获得属性文件中的一个key值。
有时,为了把资源文件分类不直接将properties文件放在src下,例如:src/conf/config.properties。
需要注入ResourceBundleMessageSource。注意:bean的id必须是messageSource。
<!-- 资源文件 -->
<bean id="messageSource" class="org.springframework.context.support.ResourceBundleMessageSource">
<property name="basenames">
<list>
<value>WEB-INF/classes/conf/config</value>
</list>
</property>
</bean>
由于ApplicationContext已经实现了MessageSource接口,因此可以通过下面的代码来获得一个key值。
MessageSource resources = new ClassPathXmlApplicationContext("beans.xml");
String message = resources.getMessage("db.driver", null, null);
System.out.println(message);
运行上面的程序后报下面的错误:
Exception in thread "main" org.springframework.context.NoSuchMessageException: No message found under code 'db.user' for locale 'null'.
at org.springframework.context.support.DelegatingMessageSource.getMessage(DelegatingMessageSource.java:65)
at org.springframework.context.support.AbstractApplicationContext.getMessage(AbstractApplicationContext.java:1192)
at org.sdp.context.Test.test(Test.java:37)
at org.sdp.context.Test.main(Test.java:34)
很明显,上面的错误是由于没有找到资源文件,原因就在于<value>WEB-INF/classes/conf/config</value>配置错了。正确的配置是
<bean id="messageSource" class="org.springframework.context.support.ResourceBundleMessageSource">
<property name="basenames">
<list>
<value>conf/config</value>
</list>
</property>
</bean>
如果资源文件在src的根目录下直接写上属性文件的名字就可以了,其他的则需要写上类似conf/属性文件
分享到:
相关推荐
Spring Cloud Gateway中的全局异常处理不能直接用@ControllerAdvice来处理,通过跟踪异常信息的抛出,找到对应的源码,自定义一些处理逻辑来符合业务的需求。 网关都是给接口做代理转发的,后端对应的都是REST API,...
主要介绍了详解SpringCloud Finchley Gateway 统一异常处理,非常具有实用价值,需要的朋友可以参考下
Spring中,使用切面全局捕获异常的同时,进行自定义异常抛出捕获,方便代码书写。
spring依赖资源包
spring jar资源包,包括:spring-aop.jar,spring-beans.jar,spring-context.jar,spring-core.jar,spring-dao-2.0-m1.jar,spring-hibernate.jar,spring-jdbc.jar,spring-mock.jar,spring-orm.jar,spring-...
学习spring资源书籍,第三版讲解的很全面,包括springmvc的整合
狂神spring-security静态资源.zip
我们在捕获到异常并对异常进行处理时可能会遇到如下一些问题: 1.不确定应如何处理这些异常 2.需要记录异常日志时没有记录,或者异常在不同的地方重复记录,使得排错调试不方便 3.处理日志时,需要在每一个try-catch...
springcloud 资源大全。 前后台分离的基于springcloud的,希望大家好好学习!天天向上!相信你下载了绝对不亏! vue pigx
spring osgi相关资源
spring资源访问spring资源访问spring资源访问spring资源访问
来自于狂神Spring Security
最新 spring mvc 资源,最新 spring mvc 资源,最新 spring mvc 资源,最新 spring mvc 资源,最新 spring mvc 资源,最新 spring mvc 资源,最新 spring mvc 资源,最新 spring mvc 资源,最新 spring mvc 资源,...
Spring Boot 提供了统一的异常处理机制,通过使用 @ControllerAdvice 和 @ExceptionHandler 注解,可以实现对控制器层、Service 层、Dao 层以及 Spring 系统内定义的部分异常的统一处理。 在 Spring Boot 中,可以...
一个tomcat下部署了两个应用,一个是普通web应用syncc,另一个应用syncc_wx属于微信公众号后台程序涉及消息定时推送,tomcat未分离...”spring定时任务执行两次的异常排查处理.docx"针对上述描述问题进行分析和解决。
java spring经典资源
org.springframework.core.JdkVersion 于是找到一个spring-core-3.x.RELEASE.jar,用其中的JdkVersion这个类替换spring-2.5.5.jar对应class,问题解决! 注意:别用spring-core-4.x.RELEASE.jar,JdkVersion....
关于无法安装springtools的解决办法
spring amqp资源下载
spring.net结合三层AOP异常日志记录功能