`
yunzhongxia
  • 浏览: 647299 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

Spring获得资源信息报NoSuchMessageException异常解决办法

阅读更多
系统经常把一些配置信息放到一个属性文件中,例如一个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/属性文件 
 
 
 
 
 
 
 
 
 
 
0
0
分享到:
评论

相关推荐

    Spring Cloud Gateway的全局异常处理

    通过本文介绍的自定义异常处理逻辑,可以有效解决Spring Cloud Gateway默认异常处理机制中存在的问题,使得异常信息更加符合业务需求。此外,这种方式也为开发者提供了一个良好的起点,可以根据具体项目需求进一步...

    详解SpringCloud Finchley Gateway 统一异常处理

    这样,在发生异常时,SpringCloud Gateway 会使用我们的自定义异常处理器来处理异常,并返回我们期望的错误信息。 SpringCloud Finchley Gateway 统一异常处理是指通过自定义实现 ErrorWebExceptionHandler 接口来...

    springcloud 资源大全

    资源包可能包含示例代码、配置文件、问题解决方案等,这些都是宝贵的实践材料。 7. **持续学习与进阶**:在掌握基础之后,可以进一步研究SpringCloud的高级特性,如Spring Cloud Gateway、Spring Cloud Data Flow等...

    Spring中切面捕获自定义异常

    Spring中,使用切面全局捕获异常的同时,进行自定义异常抛出捕获,方便代码书写。

    spring jar资源包

    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学习资源

    学习spring资源书籍,第三版讲解的很全面,包括springmvc的整合

    spring.net结合三层AOP异常日志记录功能

    综上所述,Spring.NET结合三层架构的AOP异常日志记录功能,为.NET开发者提供了一种有效管理异常和提高系统稳定性的解决方案。通过理解和实践,我们可以将这种技术应用到更广泛的项目中,提升系统的可维护性和可靠性...

    使用Spring AOP对异常进行统一处理

    我们在捕获到异常并对异常进行处理时可能会遇到如下一些问题: 1.不确定应如何处理这些异常 2.需要记录异常日志时没有记录,或者异常在不同的地方重复记录,使得排错调试不方便 3.处理日志时,需要在每一个try-catch...

    spring定时任务执行两次的异常排查处理

    一个tomcat下部署了两个应用,一个是普通web应用syncc,另一个应用syncc_wx属于微信公众号后台程序涉及消息定时推送,tomcat未分离...”spring定时任务执行两次的异常排查处理.docx"针对上述描述问题进行分析和解决。

    Spring+Hibernate StringIndexOutOfBoundsException String index out解决方法

    在使用 Spring 和 Hibernate 进行开发时,可能会遇到 StringIndexOutOfBoundsException 异常,这个异常的出现是由于 Hibernate 的映射文件和数据库中表的字段不一致所导致的。在本文中,我们将详细介绍这个异常的...

    spring-framework-4.3.16.RELEASE-dist

    最新 spring mvc 资源,最新 spring mvc 资源,最新 spring mvc 资源,最新 spring mvc 资源,最新 spring mvc 资源,最新 spring mvc 资源,最新 spring mvc 资源,最新 spring mvc 资源,最新 spring mvc 资源,...

    Spring的约束资源

    在Spring框架中,"约束资源"通常指的是对应用程序中各种组件的行为进行规范和限制的机制。这涵盖了诸如数据验证、依赖注入的约束以及资源管理等多个方面。Spring为开发者提供了丰富的工具和API,使得我们可以构建...

    Spring框架十一种常见异常的解决方法汇总

    Spring框架十一种常见异常的解决方法汇总 在 Spring 框架中,经常会遇到一些常见的异常,这些异常可能会导致程序崩溃或无法正常运行。因此,了解这些异常的解决方法非常重要。在本文中,我们将总结十一种常见的 ...

    Spring基于线程池的定时任务线挰异常实践

    这篇博文“Spring基于线程池的定时任务线程异常实践”深入探讨了如何在Spring中结合线程池来执行定时任务,并且特别关注了在实际应用中可能出现的异常情况以及如何处理。 首先,我们需要了解Spring的TaskExecutor...

    Java异常介绍及Spring Boot统一异常处理

    Spring Boot 提供了统一的异常处理机制,通过使用 @ControllerAdvice 和 @ExceptionHandler 注解,可以实现对控制器层、Service 层、Dao 层以及 Spring 系统内定义的部分异常的统一处理。 在 Spring Boot 中,可以...

    Spring Boot 系列教程6-全局异常处理

    在Spring Boot应用中,全局异常处理是至关重要的一个部分,它确保了系统在遇到错误时能够优雅地响应,提供统一的错误信息,并且保持良好的用户体验。这篇教程将深入讲解如何在Spring Boot中实现全局异常处理。 首先...

    spring2.5.5+JDK1.8 版本报错的解决办法(修改后jar)

    org.springframework.core.JdkVersion 于是找到一个spring-core-3.x.RELEASE.jar,用其中的JdkVersion这个类替换spring-2.5.5.jar对应class,问题解决! 注意:别用spring-core-4.x.RELEASE.jar,JdkVersion....

    spring mvc异常处理

    本文将深入探讨Spring MVC中的异常处理机制,帮助你更好地理解如何优雅地处理错误和异常。 1. **Spring MVC 异常处理概述** Spring MVC 提供了一种统一的方式来处理应用程序中抛出的异常。它通过`@...

    spring security 数据库存储资源信息 记住我 支持AJAX

    在“spring security 数据库存储资源信息 记住我 支持AJAX”这个主题中,我们将深入探讨Spring Security如何利用数据库来存储资源信息,实现"记住我"功能,并且处理AJAX请求。 首先,让我们谈谈Spring Security如何...

    spring amqp资源下载

    spring amqp资源下载

Global site tag (gtag.js) - Google Analytics