Я создаю систему плагинов, где плагин будет извлечен из БД, моя реализация выглядит следующим образом
Базовый интерфейс плагинов
@Service
public interface Plugin{
somemethod();
}
В пакете плагинов загрузите весь плагин где внутренним именем пакета будет имя плагина и класс с именем плагина
package <>.plugin.Myplugin
import ....
@Service
class MyPlugin implements Plugin {
@Override
somemethod() {}
}
Я загружаю весь реализованный класс интерфейса плагина в инъекцию зависимостей
@Controller
public class MyCon {
private List<Plugin> plugins
public MyCon(List<Plugin> plugins) {
this.plugins = plugins;
}
ssomefuncitonality() {
String objectNeedOfClass = <CLASS_NAME>;
//Here
System.out.println(this.plugins);
}
}
Здесь можно увидеть все объект в списке, но как я могу получить перикулярный объект из предоставленного имени класса.