@PropertySource读取properties属性 中文乱码问题

properties文件

props.data[1].perName=线路订单列表
props.data[1].permissionKey=route_order_list
props.data[1].type=1
props.data[1].order=2
props.data[1].parentPermissionKey=order_center

DTO

public class PermissionDto {
    /**
     * 权限名称
     */
    private String perName;
    /**
     * 权限key
     */
    private String permissionKey;
    /**
     * 权限类型1、菜单,2、操作,按钮等控制
     */
    private Integer type;
    /**
     * 排序
     */
    private Integer order;
    /**
     * 父权限key
     */
    private String parentPermissionKey;

    public String getPerName() {
        return perName;
    }

    public void setPerName(String perName) {
        this.perName = perName;
    }

    public String getPermissionKey() {
        return permissionKey;
    }

    public void setPermissionKey(String permissionKey) {
        this.permissionKey = permissionKey;
    }

    public Integer getType() {
        return type;
    }

    public void setType(Integer type) {
        this.type = type;
    }

    public Integer getOrder() {
        return order;
    }

    public void setOrder(Integer order) {
        this.order = order;
    }

    public String getParentPermissionKey() {
        return parentPermissionKey;
    }

    public void setParentPermissionKey(String parentPermissionKey) {
        this.parentPermissionKey = parentPermissionKey;
    }
}

 注解配置

@Configuration
@ConfigurationProperties(prefix = "props")
@PropertySource(value = "permission.properties")
public class PermissionProperties {
    private List<PermissionDto> data;

    public List<PermissionDto> getData() {
        return data;
    }

    public void setData(List<PermissionDto> data) {
        this.data = data;
    }
}

控制台输出

{"body":[{"order":1,"parentPermissionKey":"","perName":"订å\u008D\u0095中å¿\u0083","permissionKey":"order_center","type":1},{"order":2,"parentPermissionKey":"order_center","perName":"线路订å\u008D\u0095å\u0088\u0097表","permissionKey":"route_order_list","type":1},{"order":1,"parentPermissionKey":"route_order_list","perName":"订å\u008D\u0095ç¼\u0096è¾\u0091","permissionKey":"order_edit","type":2},{"order":1,"parentPermissionKey":"route_order_list","perName":"订å\u008D\u0095确认","permissionKey":"order_confirm","type":2},{"order":1,"parentPermissionKey":"route_order_list","perName":"订å\u008D\u0095å\u008F\u0096æ¶\u0088","permissionKey":"order_cancel","type":2},{"order":1,"parentPermissionKey":"route_order_list","perName":"订å\u008D\u0095导å\u0087º","permissionKey":"order_export","type":2}],"header":{"secret_key":"","trans_no":"1574438155527"}}

 可以看到控制台输出的中文是乱码,IDEA 已经确保 file encoding 是UTF-8, 否者properties文件中的中文也会显示乱码。

 解决方法,就是在 注解配置中 再次强制声明 encoding

发布了59 篇原创文章 · 获赞 11 · 访问量 5万+

猜你喜欢

转载自blog.csdn.net/zhangjianming2018/article/details/103209132
今日推荐