2013-12-12 67 views
1

我使用@Value註釋注入的屬性和現在的屬性有所增加,構造越來越真大。是有辦法解決這個問題使用Spring @Value標註爲多個屬性

@Component 
public class Job { 

    private String someProperty 

    @Autowired 
    public Job(@Value("${some.property}") String someProperty,.............){ 
     this.someProperty = someProperty 
    } 

回答

3

只需直接註釋字段。

@Value("${some.property}") 
private String someProperty 

您可以在@PostConstruct方法做任何額外的處理。

+0

編寫單元測試是很容易。如果我使用的構造函數。我可以做'工作=新工作(「fakeSomeProperty」);'.. – user1178585

1

你爲什麼不只是這樣做:

@Component public class Job { 

@Value("${some.property1}") private String someProperty1 
@Value("${some.property2}") private String someProperty2 
//... 

@Autowired public Job(){ 


// your someProperty1 is already set 
} 
+0

好,所以someProperty1獲得初始化時創建一個類的實例? – user1178585

+0

是的,這些值將在應用程序啓動時由Spring初始化。我假設你會使用@Autowired得到這個類的一個實例。 –

相關問題