2014-10-07 55 views
0

解析YAML文件時配置的子類在Dropwizard,我有一個Configuration子類,看起來是這樣的:批註在Dropwizard

public class UserApplicationConfiguration extends Configuration { 

    ... 

    public UserApplicationConfiguration(
     @JsonProperty("externalServerUrl") String externalServerUrl, 
     @JsonProperty("externalServerPort") int externalServerPort 
    ) { 
     this.externalServerUrl = externalServerUrl; 
     this.externalServerPort = externalServerPort; 
    } 

    ... 

} 

的問題是;我應該用@JsonCreator註釋構造函數嗎?

該代碼的工作原理和YAML文件被正確解析,但我認爲構造函數看起來像一個創造者,並認爲它可能應該被註釋爲這樣。

編輯:我使用Dropwizard版本0.7.0,如果相關。

回答

2

@JsonCreator只能註釋其中一個構造函數。
而且,如果只有一個構造函數,則不需要註釋。

所以,如果你需要一些構造函數,你應該只爲Jackson註解一個構造函數。
對於Dropwizard,您不需要註釋,因爲您無需親自實例化Configuration類。

1

不,你不需要。我想,你甚至不需要那些@JsonProperty s。 Yaml解析器總是嘗試使用字段/參數名稱的getter和setter,然後是構造函數。