这是一个简单的问题。
我有一个application.yml
:
server:
port: 852
user:
name: Jack
name1: Tom
description: ${user.name}
用户Java类:
@Component
@ConfigurationProperties(prefix = "user")
public class User {
private String name;
private String description;
private String name1;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getDescription() {
return description;
}
public void setDescription(String description) {
this.description = description;
}
public String getName1() {
return name1;
}
public void setName1(String name1) {
this.name1 = name1;
}
}
最后有一个MVC Controller java类:
@RestController
public class HelloController {
@Autowired User user;
@RequestMapping("/user")
public String getUser() {
return user.getName() + "--------" + user.getDescription() + "----" + user.getName1();
}
}
好的,似乎是正确的,但是当输入" localhost:852 / user"在浏览器地址,我得到错误的结果如下:
BG221726--------BG221726----Tom
请注意," BG221726"是我的电脑名称!我的代码有什么问题????
答案 0 :(得分:2)
您正在有效地使用user.name
这是由java设置的special system property。当使用property resolving mechanism系统属性优先于从属性文件加载的属性时,将采用该属性。
克服使用不同的前缀。