2011-10-07 79 views
3

假設我們在B的構造函數中有一個類A和B.不僅需要A,還需要一些其他的String /布爾值。例如如何做多個參數的彈簧構造函數注入

@Componenet(value = "B") 
@DependsOn(value = "A") 
public class B{ 
    ... 
} 
public B(A a_instance, String name1, String name2, boolean b1){ 
    ... 
} 

我知道使用註釋。但不知道究竟應該怎樣處理這些String /布爾值?

回答

5

你的問題並不完全清楚。您的B構造函數看起來不在B類之外。除此之外,假設沒有其他構造函數,您擁有的函數將不起作用,因爲Spring將查找默認構造函數。我想你要問的是如果你想要@Autowired那個構造函數來獲取String和布爾值的話。如果是這樣,你想是這樣的:

@Component 
public class B { 
    @Autowired 
    public B(A a, 
      @Value("${some.property.1}") String name1, 
      @Value("${some.property.2}") String name2, 
      @Value("${some.property.3}") boolean b1) { 
     ... 
    } 
} 

在這種情況下,@Value行爲有點像@Qualifier會,如果你有A型的多豆

+0

對不起,我是新來的春天,並沒有說清楚。謝謝 :) –