我正在使用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;
希望能帮助到你