Я заинтересован в использовании HK2 или Guice для инфраструктуры внедрения зависимостей. Я знаю о @Named
, @Qualifier
и пользовательских аннотациях и т. д. Но все это время компиляции.
Я ищу средство для динамического определения желаемого конкретного типа на основе контекста времени выполнения и внедрения правильной реализации.
Есть ли что-то подобное в HK2 или Guice или рекомендуемый способ достижения этого?
Например:
// I would want to turn this...
public final class Handler
{
private final Session session;
@Inject
public Handler(@Named("Database") final Session session)
{
this.session = session;
}
...
}
// into something like this...
public final class Handler
{
private final Session session;
@Inject
public Handler(final Session session)
{
this.session = session;
}
}
// where "session" is injected based on some previous context value ("Database")
// or something to that effect.
Factory
s, Это позволяет вам определить внедренный объект во время выполнения. Я мало работаю с Guice, но думаю, что их FactoryProvider аналогичен. - person Paul Samsotha   schedule 02.02.2021