MessageSource Spring:NotSerializableException
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了MessageSource Spring:NotSerializableException相关的知识,希望对你有一定的参考价值。
我正在使用MessageSource在Spring中实现国际化。
我有类似的东西。
在我的Config类中:
@Bean
public ReloadableResourceBundleMessageSource messageSource() {
ReloadableResourceBundleMessageSource messageSource = new ReloadableResourceBundleMessageSource();
messageSource.setBasename("classpath:messages");
messageSource.setDefaultEncoding("UTF-8");
messageSource.setUseCodeAsDefaultMessage(true);
return messageSource;
}
我的春豆
@Component
class MyClass implements Serializable {
@Autowired(required = true)
private MessageSource messages;
}
当我运行我的项目时,我得到了这个例外:
Caused by: java.io.NotSerializableException: org.springframework.context.support.ReloadableResourceBundleMessageSource
SomeOne可以指导我如何解决这个问题。
答案
根据您在此处提供的信息,问题在于您的ReloadableResourceBundleMessageSource
类,因为它没有实现Serializable接口。
这是由你的class MyClass implements Serializable
引起的,因为Serializable类中的变量应该是Serializable
或transient
。
所以根据你的类,你的ReloadableResourceBundleMessageSource
类应该实现Serializable
接口或在你的MyClass中,变量应该如下
@Autowired(required=true)
private transient MessageSource messages;
希望能帮助到你
以上是关于MessageSource Spring:NotSerializableException的主要内容,如果未能解决你的问题,请参考以下文章
java 通过注释Spring Spring MVC messageSource配置
Spring Boot (1.4.1) 和 Thymeleaf (3) MessageSource 单引号
Thymeleaf + Spring (not Boot) - 如何显示来自 messageSource 的消息