2016-06-22 6 views
1

Das ist ein einfaches Problem. I hava ein application.yml:Warum ist der Wert der Eigenschaft user.name in application.yml falsch?

server: 
    port: 852 

user: 
    name: Jack 
    name1: Tom 
    description: ${user.name} 

Und ein Benutzer Java-Klasse:

@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; 
    } 
} 

Und schließlich gibt es eine MVC-Controller Java-Klasse:

@RestController 
public class HelloController { 
    @Autowired User user; 

    @RequestMapping("/user") 
    public String getUser() { 
     return user.getName() + "--------" + user.getDescription() + "----" + user.getName1(); 
    } 
} 

Ok, es ist richtig erscheinen, aber wenn "localhost: 852/user" an der Browseradresse eingegeben wurde, habe ich ein falsches Ergebnis wie folgt erhalten:

BG221726--------BG221726----Tom 

Beachten Sie, dass "BG221726" mein Computername ist! Was ist falsch an meinem Code ????

+0

'user.name' ist eine Java-Systemeigenschaft, die den Benutzernamen des angemeldeten Systembenutzers enthält, der Vorrang vor Ihrer Eigenschaftendatei hat. –

+0

Okey, danke, Wie finde ich die Java-System-Eigenschaft in Ihrem sagen. :) – nolan4954

Antwort

1

Sie verwenden effektiv user.name, die eine special system property von Java festgelegt ist. Und wenn Sie die Systemeigenschaften property resolving mechanism verwenden, haben diese Vorrang vor denen, die aus den Eigenschaftendateien geladen werden.

Um zu überwinden, verwenden Sie ein anderes Präfix.

+0

Vielen Dank :) – nolan4954

Verwandte Themen