@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":"订åu008Du0095ä¸å¿u0083","permissionKey":"order_center","type":1},{"order":2,"parentPermissionKey":"order_center","perName":"线路订åu008Du0095åu0088u0097表","permissionKey":"route_order_list","type":1},{"order":1,"parentPermissionKey":"route_order_list","perName":"订åu008Du0095ç¼u0096è¾u0091","permissionKey":"order_edit","type":2},{"order":1,"parentPermissionKey":"route_order_list","perName":"订åu008Du0095确认","permissionKey":"order_confirm","type":2},{"order":1,"parentPermissionKey":"route_order_list","perName":"订åu008Du0095åu008Fu0096æ¶u0088","permissionKey":"order_cancel","type":2},{"order":1,"parentPermissionKey":"route_order_list","perName":"订åu008Du0095导åu0087º","permissionKey":"order_export","type":2}],"header":{"secret_key":"","trans_no":"1574438155527"}}
可以看到控制台输出的中文是乱码,IDEA 已经确保 file encoding 是UTF-8, 否者properties文件中的中文也会显示乱码。
解决方法,就是在 注解配置中 再次强制声明 encoding