Sen kullanmak zorunda bir TypeLiteral
: Bir Injector
gereklidir
import com.google.inject.AbstractModule;
import com.google.inject.TypeLiteral;
public class MyModule extends AbstractModule {
@Override
protected void configure() {
bind(new TypeLiteral<Repository<User>>() {}).to(UserRepository.class);
}
}
Cursor<T>
bir örneğini almak için:
import com.google.inject.Guice;
import com.google.inject.Injector;
import com.google.inject.Key;
import com.google.inject.TypeLiteral;
public class Main {
public static void main(String[] args) {
Injector injector = Guice.createInjector(new MyModule());
Cursor<User> instance =
injector.getInstance(Key.get(new TypeLiteral<Cursor<User>>() {}));
System.err.println(instance.repository);
}
}
Diğer ayrıntılar in the FAQ.
UserRepository sınıfınız var mı? – gontard
Bir tane var, ancak genel olarak nasıl enjekte edeceğimi bilmiyorum, çünkü daha fazla depo var. – Gelidus