Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/319.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 使用带外绑定代码的GoogleGuice_Java_Dependency Injection_Guice - Fatal编程技术网

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
注释允许隐式指定绑定

然而,我认为这并不是定义绑定的好方法。显式定义的绑定更易于组合,并且它们集中在模块中,因此更易于管理