Я определил bean-компонент класса реализации в applicationContext.xml следующим образом:
<bean id="com.pcmsgroup.v21.databaseId.IDatabaseIDGenerator"
class="com.pcmsgroup.v21.infrastructure.databaseid.CacheEnabledDatabaseIdGenerator">
<constructor-arg ref="dbIdGen" />
</bean>
И я пытаюсь извлечь это из класса следующим образом:
final DatabaseIdGenerator databaseGenerator = (DatabaseIdGenerator)
ObjectFactory.getInstance().getInstance(DatabaseIdGenerator.class);
DatabaseIdGenerator
это интерфейс CacheEnabledDatabaseIdGenerator
Когда код выполняется, я получаю следующее исключение
org.springframework.beans.factory.NoSuchBeanDefinitionException:
No bean named 'com.pcmsgroup.v21.infrastructure.databaseid.DatabaseIdGenerator' is defined
Когда я пытаюсь найти бин по имени, он работает нормально:
final DatabaseIdGenerator databaseGenerator = (DatabaseIdGenerator)
ObjectFactory.getInstance().getInstance("com.pcmsgroup.v21.databaseId.IDatabaseIDGenerator");
Я хочу получить bean от .class, потому что выборка кода находится в другом хранилище, и я не хочу изменять этот код. Есть идеи?