前言
在朋友的项目有个自定义配置文件user.yml,其内容如下
user:
userId: 1
name: 张三
email: zhangsan@qq.com
其映射实体内容为如下
@Data
@AllArgsConstructor
@NoArgsConstructor
@Builder
@PropertySource(value = "user.yml",encoding = "utf-8",factory = CustomYmlPropertySourceFactory.class)
@ConfigurationProperties(prefix = "user")
@Configuration
public class User {
private String name;
private Long userId;
private String email;
}
项目启动后,输出的user内容为
User(name=Administrator, userId=1, email=zhangsan@qq.com)
很明显name的内容不是我们想要的
排查
从跟踪的源码可以发现有个systemProperties配置排在user.yml