В Java 6 они представили SPI (интерфейс поставщика услуг). Это помогло создать экземпляр объекта, который реализует определенный интерфейс, не зная его точного класса, но сделал это только для необработанных типов.
Однако с SPI я не могу создать экземпляр параметризованных классов, таких как Class<A,B>
, который реализует SomeInterface<A,B>
.
Как мне это сделать, если я не хочу использовать какую-либо инфраструктуру зависимостей, такую как Spring или CDI, чтобы сохранить мою библиотеку агности c этих структур DI?
Похоже, я нарисовал себя в углу.