2013-10-30 82 views
0

初始化內部對象列表如何使用Spring註解如何使用Spring註解

@Component 
class Accounts{ 
    private List<Transaction> _transaction; 
    //getter setter 
} 

我初始化列表內的對象我如何使用Spring註解,否則我
在XML文件來定義它初始化List<Transaction> _transaction;

,但我不想寫任何XML文件

回答

2

您可以使用Spring的Java @Configuration這樣一個任務:

@Configuration 
public class SpringConfig { 
    @Bean 
    public List<Transaction> transactions() { 
     ...... //Your logic to generate the list.. 
     return transactions; 
    } 
} 

而在你的賬戶類,你必須使用@Resource,不@Autowired,注射列表的語義是有點不同 - 如果您使用@Autowired,則相同類型的任何bean將被注入到列表中。

@Component 
class Accounts{ 
    @Resource(name="transactions") 
    private List<Transaction> _transaction; 
    //getter setter 
} 

這是純Java解決方案並沒有參與創建列表XML ..

1

如果Transaction是@Service,@Component或@Repository註解的bean,你可以只寫自己場上的頂部@Autowired。

@Component 
class Accounts{ 

    @Autowired 
    private List<Transaction> _transaction; 
    //getter setter 
} 
+0

但不要它是如何來認識這是實現類如ArrayList或者一些別的東西.. – BholaVishwakarma

+0

請訪問http ://stackoverflow.com/questions/7446301/autowire-reference-beans-into-list-by-type。有關如何定義列表類型的問題中有一個示例。 [...] [...] –