| package com.dsh.config; | 
|   | 
| import org.springframework.boot.autoconfigure.context.MessageSourceProperties; | 
| import org.springframework.context.MessageSource; | 
| import org.springframework.context.annotation.Bean; | 
| import org.springframework.context.annotation.Configuration; | 
| import org.springframework.context.support.ResourceBundleMessageSource; | 
| import org.springframework.util.StringUtils; | 
| import org.springframework.web.servlet.LocaleResolver; | 
|   | 
| import java.time.Duration; | 
|   | 
|   | 
| /** | 
|  * 国际化配置 | 
|  */ | 
| @Configuration | 
| public class MessageLocalConfig { | 
|   | 
|     @Bean | 
|     public MessageSource messageSource(MessageSourceProperties properties) { | 
|         ResourceBundleMessageSource messageSource = new ResourceBundleMessageSource(); | 
|         if (StringUtils.hasText(properties.getBasename())) { | 
|             messageSource.setBasenames(StringUtils | 
|                     .commaDelimitedListToStringArray(StringUtils.trimAllWhitespace(properties.getBasename()))); | 
|         } | 
|         if (properties.getEncoding() != null) { | 
|             messageSource.setDefaultEncoding(properties.getEncoding().name()); | 
|         } | 
|         messageSource.setFallbackToSystemLocale(properties.isFallbackToSystemLocale()); | 
|         Duration cacheDuration = properties.getCacheDuration(); | 
|         if (cacheDuration != null) { | 
|             messageSource.setCacheMillis(cacheDuration.toMillis()); | 
|         } | 
|         messageSource.setAlwaysUseMessageFormat(properties.isAlwaysUseMessageFormat()); | 
|         messageSource.setUseCodeAsDefaultMessage(properties.isUseCodeAsDefaultMessage()); | 
|         return messageSource; | 
|     } | 
|   | 
|   | 
|     @Bean//注册国际化组件 | 
|     public LocaleResolver localeResolver() { | 
|         return new MyLocaleResolver(); | 
|     } | 
|   | 
| } |