1、在application.properties 添加以下配置:
#国际化配置 spring.messages.basename=i18n/messages/messages spring.messages.fallback-to-system-locale=false
2、添加配置文件在 resources目录下 如下图所示:

这个国际化文件命名有个坑,必须按照小明名称进行 否则部署linux国际化不生效,目前是遇到这个问题,问题修改en_us/zh_cn/es_pa得到解决 。如果有其他方式 ,欢迎留言沟通交流。
3、添加国际化配置文件:
I18nConfig.java
package com.example.cxjgmanagedevice.utils;import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.context.support.ReloadableResourceBundleMessageSource;
import org.springframework.web.servlet.LocaleResolver;
import org.springframework.web.servlet.config.annotation.InterceptorRegistry;
import org.springframework.web.servlet.config.annotation.WebMvcConfigurer;
import org.springframework.web.servlet.i18n.LocaleChangeInterceptor;
import org.springframework.web.servlet.i18n.SessionLocaleResolver;import java.util.Locale;@Configuration
public class I18nConfig implements WebMvcConfigurer {@Beanpublic LocaleResolver localeResolver() {SessionLocaleResolver slr = new SessionLocaleResolver();slr.setDefaultLocale(Locale.US); // 设置默认语言为英语return slr;}@Beanpublic ReloadableResourceBundleMessageSource messageSource() {ReloadableResourceBundleMessageSource messageSource = new ReloadableResourceBundleMessageSource();messageSource.setBasenames("classpath:i18n/messages/messages"); // 设置基础名,不带后缀messageSource.setDefaultEncoding("UTF-8");messageSource.setCacheSeconds(5); // 设置缓存刷新间隔(秒)return messageSource;}@Overridepublic void addInterceptors(InterceptorRegistry registry) {LocaleChangeInterceptor localeChangeInterceptor = new LocaleChangeInterceptor();localeChangeInterceptor.setParamName("lang"); // 通过URL参数lang来切换语言registry.addInterceptor(localeChangeInterceptor);}
} 
 
4、创建控制类 添加属性:
private final MessageSource messageSource;@Autowired
public UserController(MessageSource messageSource) {this.messageSource = messageSource;
} 
5、在对应接口方法上通过下面方式进行国际化
Locale locale = new Locale(lang);
String message = null;
if (StringUtils.isBlank(mobile) || StringUtils.isBlank(random)) {message = messageSource.getMessage("1004",null , locale);return ResultCodeDataObj.INFO("1004", message,null);
} 
6、国际化配置文件

至此:你的国际化流程已经顺利完成,中间过程中,如果有任何问题,欢迎骚扰。