如何使用Spring Annotation初始化Object内的List
@Component
class Accounts{
private List<Transaction> _transaction;
//getter setter
}
如何使用Spring Annotation初始化List<Transaction> _transaction;
或者i
必须在xml文件中定义它。
但我不想写任何xml文件
答案 0 :(得分:2)
您可以使用Spring Java @Configuration
执行此类任务:
@Configuration
public class SpringConfig {
@Bean
public List<Transaction> transactions() {
...... //Your logic to generate the list..
return transactions;
}
}
在您的Accounts类中,您必须使用@Resource
,而不是@Autowired
,注入列表的语义有点不同 - 如果您使用@Autowired,任何相同类型的bean都将获得注入清单。
@Component
class Accounts{
@Resource(name="transactions")
private List<Transaction> _transaction;
//getter setter
}
这是纯java解决方案,创建列表时没有涉及xml ..
答案 1 :(得分:1)
如果Transaction
是带有@ Service,@ Component或@Repository Annotation的Bean,则可以在字段顶部编写@Autowired。
@Component
class Accounts{
@Autowired
private List<Transaction> _transaction;
//getter setter
}