1:原因
乱码的原因是:spring 默认使用org.springframework.boot.env.PropertiesPropertySourceLoader 来加载配置,底层是通过调用 Properties 的 load 方法,而load方法输入流的编码是 ISO 8859-1。
2:解决
解决方法:实现org.springframework.boot.env.PropertySourceLoader 接口,重写 load 方法
#地方1
/**
* properties property source loader and this class load properties file encoding is UTF-8
*
* @see org.springframework.boot.env.PropertiesPropertySourceLoader
**/
@Slf4j
public class PropertiesPropertySourceLoader implements PropertySourceLoader {
private static final String CHARSET_NAME = "utf-8";
@Override
public String[] getFileExtensions() {
return new String[]{"properties", "xml"};
}
@Override
public PropertySource<?> load(String name, Resource resource, String profile) throws IOException {
if