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