有没有办法绑定构造函数参数而不用Guice注释?

时间:2018-03-29 18:25:42

标签: guice

使用ninject for .net很简单,例如:

Bind<Interface>().To<InterfaceImpl>()
    .WithConstructorArgument("parameterName", value);

有没有办法和Guice做同样的事情?

1 个答案:

答案 0 :(得分:0)

来自documentation

public class BillingModule extends AbstractModule {
  @Override 
  protected void configure() {
    try {
      bind(TransactionLog.class).toConstructor(
          DatabaseTransactionLog.class.getConstructor(DatabaseConnection.class));
    } catch (NoSuchMethodException e) {
      addError(e);
    }
  }
}

对于您的情况,请将try块替换为下一个:

bind(Interface.class)
  .toConstructor(InterfaceImpl.class.getConstructor(Param1.class, Param2.class));