Я хочу автоматически связать репозиторий в классе, который инициализируется фабричным шаблоном.
Позвольте мне объяснить шаг за шагом.
Мой класс репозитория:
@Repository
public class UserRepository {
//
}
Другоекласс, который использует класс репозитория и расширяет некоторый абстрактный класс:
public class OtherClass extends AbstractClass {
@Autowired
private UserRepository userRepository;
//
}
Теперь я создал класс Factory, который инициализировал этот OtherClass и поместил в одну карту.
@Component
public class TempFactory {
private final Map<Class, AbstractTest> impletationMap = new HashMap<>();
@Autowired
ApplicationContext context;
@PostConstruct
public void initialize() {
populateDataMapperMap(context.getBeansOfType(AbstractTest.class).values().iterator());
}
private void populateDataMapperMap(final Iterator<AbstractClass> classIterator) {
while (classIterator.hasNext()) {
AbstractTest abstractClassImpl = (AbstractClass) classIterator.next();
impletationMap.put(abstractClassImpl.getClass(), abstractClassImpl);
}
}
}
Теперь проблемавот тот объект, который помещен в ImplementMap, не автоматически связывает userRepository и возвращает ноль.
Output:
Otherclass oc = (AbstractClass)impletationMap.get("key")
userRepository is null in oc object.
Я пришел к этому решению Эта ссылка
Скажите, пожалуйста, какпродолжить.
Спасибо.