Java 使用带外绑定代码的GoogleGuice
绑定类的方法是否不是通过代码:Java 使用带外绑定代码的GoogleGuice,java,dependency-injection,guice,Java,Dependency Injection,Guice,绑定类的方法是否不是通过代码: bind(MessageService.class).to(FacebookService.class); Injector injector = Guice.createInjector(new AppInjector()); 但是对于一些注释?是的,有一种方法可以使用注释来指定绑定,这在中进行了解释。该页中的一个示例: @ImplementedBy(PayPalCreditCardProcessor.class) public interfac
bind(MessageService.class).to(FacebookService.class);
Injector injector = Guice.createInjector(new AppInjector());
但是对于一些注释?是的,有一种方法可以使用注释来指定绑定,这在中进行了解释。该页中的一个示例:
@ImplementedBy(PayPalCreditCardProcessor.class)
public interface CreditCardProcessor {
ChargeResult charge(String amount, CreditCard creditCard)
throws UnreachableException;
}
@ProvidedBy(DatabaseTransactionLogProvider.class)
public interface TransactionLog {
void logConnectException(UnreachableException e);
void logChargeResult(ChargeResult result);
}
@ImplementedBy
和@ProvidedBy
注释允许隐式指定绑定
然而,我认为这并不是定义绑定的好方法。显式定义的绑定更易于组合,并且它们集中在模块中,因此更易于管理