JAVA (Springboot) i18n国际化语言配置
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.context.support.ResourceBundleMessageSource;
@Configuration
public class MessageSourceConfig {
@Bean
public ResourceBundleMessageSource messageSource() {
ResourceBundleMessageSource messageSource = new ResourceBundleMessageSource();
// 设置消息资源的basename(基础名),后面会加上语言代码和国家代码,例如 messages_en_US
messageSource.setBasename("messages");
// 如果没有找到对应的资源,就使用默认的资源,这里设置为classpath下的messages.properties
messageSource.setUseCodeAsDefaultMessage(true);
// 设置缓存大小,不设置的话,默认是资源文件的大小
messageSource.setCacheLimit(1000);
// 设置缓存时间,单位是秒,不设置的话,默认是-1,表示永不过期
messageSource.setDefaultEncoding("UTF-8");
return messageSource;
}
}
这段代码定义了一个Spring的配置类MessageSourceConfig
,其中创建了一个ResourceBundleMessageSource
的Bean,用于国际化消息的处理。通过设置basename
属性,Spring Boot会根据请求的Locale(语言环境)加载对应的资源文件,如messages_en_US.properties
、messages_zh_CN.properties
等。这样,你就可以在不同的语言环境下显示不同的文本信息。
评论已关闭