spring-boot读取yml配置文件中文乱码问题

作者: 白云飞 分类: java 发布时间: 2020-01-01 17:06 阅读:

用到spring-boot去读取配置文件的内容,刚开始用到是 .properties,读取出的文件,英文还好,中文全是乱码。查找网上各种说法。说什么本来的编码不对的,我检查了一下,我的就是 utf-8。有的说改成 yml 就好了的。我改了依旧不行。看来看去,就是那么一篇文章,来回转载。根本解决不了问题。后来在一个问答的网站上,看到一个解决方案,一看就靠谱。一尝试,果然可以。

package com.baiyf.seller.config;

import lombok.Data;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.boot.context.properties.ConfigurationProperties;
import org.springframework.context.annotation.PropertySource;
import org.springframework.stereotype.Component;

@Data
@Component
@ConfigurationProperties(prefix = "common")
@PropertySource(value = "common.yml", ignoreResourceNotFound = true, encoding = "utf-8")
public class CommonConfig {

    @Value("${salt}")
    private String salt;

    @Value("${version}")
    private String version;

    @Value("${title}")
    private String title;

    @Value("${officialUrl}")
    private String officialUrl;
}

common.yml

common:
  salt: ~NickBai!@#123
  title: 青云客服
  version: v1.0
  officialUrl: https://qingyun.baiyf.com

只要在config类上,加上指定文件的编码即可

@PropertySource(value = "common.yml", ignoreResourceNotFound = true, encoding = "utf-8")

如果觉得我的文章对您有用,请随意打赏。您的支持将鼓励我继续创作!