Я нашел другие связанные вопросы, но ни один из них не был так прост:
Как я могу связать следующий универсальный параметр, используя Guice?
public class TestGenericBinding { static class A<T> { T a; @Inject A(T a) { this.a=a; } } @Test public void bindingWorked() { Injector injector = Guice.createInjector(new AbstractModule() { @Override protected void configure() { bind(Integer.class).toInstance(123); bind(new TypeLiteral<A<Integer>>() {}); } }); A<Integer> a = injector.getInstance( Key.get(new TypeLiteral<A<Integer>>(){})); assertEquals(new Integer(123),a.a); } }