我有以下代码使用Guice进行依赖注入。第一个是使用构造函数注入,而另一个是在字段正上方添加@Inject
。这两种方式有什么区别吗?似乎Guice官方网站上建议使用构造函数注入。
class BillingService {
private final CreditCardProcessor processor;
private final TransactionLog transactionLog;
@Inject
BillingService(CreditCardProcessor processor, TransactionLog transactionLog) {
this.processor = processor;
this.transactionLog = transactionLog;
}
...
}
并且:
class BillingService {
@Inject
private final CreditCardProcessor processor;
@Inject
private final TransactionLog transactionLog;
BillingService() {
}
...
}