我正在使用MessageSource在Spring中实现国际化。
我有这样的东西。
在我的Config类中:
@Bean
public ReloadableResourceBundleMessageSource messageSource() {
ReloadableResourceBundleMessageSource messageSource = new ReloadableResourceBundleMessageSource();
messageSource.setBasename("classpath:messages");
messageSource.setDefaultEncoding("UTF-8");
messageSource.setUseCodeAsDefaultMessage(true);
return messageSource;
}我的Spring Bean
@Component
class MyClass implements Serializable {
@Autowired(required = true)
private MessageSource messages;
}当我运行我的项目时,我得到了这个异常:
Caused by: java.io.NotSerializableException: org.springframework.context.support.ReloadableResourceBundleMessageSource可以SomeOne请指导我如何解决这个问题。
发布于 2018-09-07 17:46:17
根据您在这里提供的信息,问题出在您的ReloadableResourceBundleMessageSource类上,因为它没有实现Serializable接口。
这是由于您的class MyClass implements Serializable在可序列化类中的变量应该是Serializable或transient。
因此,根据您的类,您的ReloadableResourceBundleMessageSource类应该实现Serializable接口,或者在您的MyClass中,变量应该如下所示
@Autowired(required=true)
private transient MessageSource messages;希望能有所帮助
https://stackoverflow.com/questions/52218793
复制相似问题