java - 使用 google-guice 而不使用绑定(bind)代码

标签 java dependency-injection guice

是否有任何不通过代码绑定(bind)类的方法:

 bind(MessageService.class).to(FacebookService.class);
 Injector injector = Guice.createInjector(new AppInjector());     

但是有一些注释吗?

最佳答案

是的,有一种方法可以使用注释来指定绑定(bind),Guice docs中有解释。 。该页面的示例:

@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 注释允许隐式指定绑定(bind)。

但是,我认为这并不是定义绑定(bind)的好方法。显式定义的绑定(bind)更具可组合性,并且它们集中在模块中,因此更易于管理。

关于java - 使用 google-guice 而不使用绑定(bind)代码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24362247/

相关文章:

java - 如何将 POJO 添加到 Spring 上下文以启用注入(inject)依赖项?

java - 使用 Guice 创建同一个类的多个实例

multithreading - 多线程中的 Guice 和 RequestScoped 行为

java - 在 Java 中向字符串行为添加转义字符

java - ActionBar 向上按钮过渡效果

dependency-injection - 如何在构建依赖项时查看消息?

java - 让 Spring 的 IoC 容器以零配置实例化 beans(如 Google Guice 的行为)

java - Java 可以取消引用语句吗?

java - 如何在进化算法中初始化染色体以求解实变量上的 LP/ILP 或一般 COS?

c# - Specflow 中的依赖注入(inject),每个功能是否有一个上下文对象?