【问题标题】:How to get object for an inner bind class如何获取内部绑定类的对象
【发布时间】:2018-11-13 06:14:20
【问题描述】:

我有一个扩展JerseyServletModule 的类。这个类正在安装一个模块

示例类:

public class SampleJersey extends JerseyServletModule {
  // some bind statements
  install(new FirstModule());
  install(new MyConstrutorClass(/*need MyActualClass object as parameter*/)); // here I need to pass MyActualClass object to the constructor
}

现在这个FirstModule 正在安装另一个模块。

例如:

public class FirstModule extends AbstarctModule{
   // some bind operations
   install(new SecondModule());
}

现在这个SecondModule 绑定另一个类

例如:

public class SecondModule extends AbstractModule {
  bind(MyActualClass.class).in(Scopes.SINGLETON);
}

我有一个类,我需要将 MyActualClass 对象作为参数传递给 constructor

例如:

public class MyConstrutorClass{

   @Inject
   MyConstrutorClass(MyActualClass actual){
      // some functionality here
   }
}

【问题讨论】:

    标签: java guice inject


    【解决方案1】:

    MyConstrutorClass 似乎不是 Guice 模块。模块提供东西,MyConstrutorClass 似乎是你想要提供的东西。

    现在,您已经安装了SecondModule,它提供了MyActualClass。这意味着已经提供了对MyConstrutorClass 的所有依赖项。所以没有别的事可做:只需 @Inject MyConstrutorClass 就可以了。

    【讨论】:

      猜你喜欢
      • 2012-09-28
      • 2010-12-21
      • 1970-01-01
      • 2011-01-17
      • 1970-01-01
      • 1970-01-01
      • 2022-06-16
      • 1970-01-01
      相关资源
      最近更新 更多