У меня есть класс Cache, который довольно дорого создать, но после этого он устанавливается как одноэлементный и внедряется в мой уровень обслуживания.
@Override
protected void configure() {
bind(Cache.class).in(Singleton.class);
bind(Service.class).to(ServiceImpl.class).in(Singleton.class);
}
@Inject
public ServiceImpl(Cache cache){
this.cache = cache;
}
public Cache(){
//Expensive stuff
}
Моя проблема в том, что public () в Cache выполняется, только когда я пытаюсь получить доступ к одному из его методов
Могу ли я каким-то образом заставить объект создаваться при запуске сервера?