Для работы автомонтирования вам нужен класс, который использует @Autowired как @Component (или дочерний элемент, например @Service ...). https://www.baeldung.com/spring-autowire
Чтобы Spring знал, что вводить, вам необходимо определить @Bean в своей конфигурации https://www.baeldung.com/spring-bean
Что касается отражающий экземпляр в bean-компоненте:
@Bean
public Name getName(Database db) {
String nameFqn = db.getConfigTable().getNameFQN();
return (Name) Class.forName(nameFqn).getConstructor().newInstance();
}
Обратите внимание, что здесь используется конструктор c publi без аргументов. FQN означает полное имя, т.е. com.some.pkg.NameFinder
при условии:
package com.some.pkg;
class NameFinder implements Name {
public NameFinder(){}
}
Мне кажется, что Spring Bean также должен быть настроен непосредственно из FQN без использования отражения, но я не знаю как. Попробуйте почитать о BeanFactory или чем-то подобном. Обычно следует избегать размышлений.