如何使用 Spring Annotation 在 Object 中初始化 List
@Component
class Accounts{
private List<Transaction> _transaction;
//getter setter
}
如何List<Transaction> _transaction;
使用 Spring Annotation 进行初始化,否则我
必须在 xml 文件中定义它。
但我不想写任何 xml 文件
如何使用 Spring Annotation 在 Object 中初始化 List
@Component
class Accounts{
private List<Transaction> _transaction;
//getter setter
}
如何List<Transaction> _transaction;
使用 Spring Annotation 进行初始化,否则我
必须在 xml 文件中定义它。
但我不想写任何 xml 文件
您可以将 Spring Java@Configuration
用于此类任务:
@Configuration
public class SpringConfig {
@Bean
public List<Transaction> transactions() {
...... //Your logic to generate the list..
return transactions;
}
}
在您的 Accounts 类中,您必须使用@Resource
, not @Autowired
,注入列表的语义略有不同 - 如果您使用 @Autowired,任何相同类型的 bean 都将被注入列表中。
@Component
class Accounts{
@Resource(name="transactions")
private List<Transaction> _transaction;
//getter setter
}
这是纯 Java 解决方案,创建列表时不涉及 xml。
如果Transaction
是一个带有@Service、@Component 或@Repository 注解的Bean,你可以在你的字段上写@Autowired。
@Component
class Accounts{
@Autowired
private List<Transaction> _transaction;
//getter setter
}