これは簡単な問題です。 私はapplication.yml
をHAVA:なぜapplication.ymlのuser.nameプロパティの値が間違っていますか?
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コントローラのJavaクラスがあります:
@RestController
public class HelloController {
@Autowired User user;
@RequestMapping("/user")
public String getUser() {
return user.getName() + "--------" + user.getDescription() + "----" + user.getName1();
}
}
[OK]を、正しいように見えるがありブラウザのアドレスに「localhost:852/user」と入力すると、次のように間違った結果が得られます。
BG221726--------BG221726----Tom
「BG221726」は自分のコンピュータ名です。私のコードに何が問題なのですか?
'user.name'は、ログインしたシステムユーザのユーザ名を含むJavaシステムプロパティです(プロパティファイルよりも優先されます)。 –
おかげさまで、ありがとう、あなたの言うようにJavaシステムプロパティを見つける方法はありますか。 :) – nolan4954