Zha*_* Yi 3 dependency-injection guice
我有下面的代码使用 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;
}
...
}
Run Code Online (Sandbox Code Playgroud)
和:
class BillingService {
@Inject
private final CreditCardProcessor processor;
@Inject
private final TransactionLog transactionLog;
BillingService() {
}
...
}
Run Code Online (Sandbox Code Playgroud)
我要指出的差异:
final修饰符,即上面的代码将无法编译。在这里评论最终成员的优点是题外话。| 归档时间: |
|
| 查看次数: |
97 次 |
| 最近记录: |