Java 匕首不会初始化懒惰<;T>;惰性变量?

Java 匕首不会初始化懒惰<;T>;惰性变量?,java,inject,dagger,dagger-2,Java,Inject,Dagger,Dagger 2,我正在使用Java和依赖注入框架。我经常会遇到这样的情况:我必须初始化一个类,但以后会用到它,例如: private final Message message; public SomePresenter() { message = DaggerComponent.getMessage(); } public someFuncA() { message.doSomething(); } public someFuncB() { message.doSomething(); }

我正在使用Java和依赖注入框架。我经常会遇到这样的情况:我必须初始化一个类,但以后会用到它,例如:

private final Message message;

public SomePresenter() {
  message = DaggerComponent.getMessage();
}

public someFuncA() {
  message.doSomething();
}

public someFuncB() {
  message.doSomething();
}
我希望消息在第一次被请求时被初始化,并且从那一刻起,在这个类中始终使用相同的消息实例。我该怎么做

编辑:

我尝试按如下方式使用,但lazyMessage未定义:

public class StartPresenter {

  @Inject
  Lazy<Message> lazyMessage; 

  @Inject
  public StartPresenter(ConfigObject config) {
  }

}

如何让dagger实例化lazyMessage?

使用类似

@Inject Lazy<Message> message;


Dagger仅在调用get()时连接类。每次调用get()时,它都会返回相同的实例。

仅通过getter访问
消息
,您将在其中初始化它。如何创建StartPresenter的实例?
@Inject Lazy<Message> message;
//Doing something with message
message.get().messageMethod();