Я, имеющий класс с внутренним классом, как это:Как определить компонент для (нестатического) внутреннего класса весной? Как избежать циклической зависимости
package myPackage;
public class A {
private B b;
public void setB(B b) { this.b = b; }
public B getB() { return this.b; }
public class B {
}
}
и у меня есть пружинная конфигурация следующим образом:
<bean id="a" class="myPackage.A" autowire="byName" scope="prototype">
<property name="b">
<bean class="myPackage.A$B" name="b" autowire="byName" scope="prototype">
<constructor-arg ref="a"/>
</bean>
</property>
</bean>
Но я обращенный эта ошибка:
org.springframework.beans.factory.BeanCurrentlyInCreationException: Error creating bean with name 'a': Requested bean is currently in creation: Is there an unresolvable circular reference?
Конечно, очевидно, что у меня есть круговая ссылка, но как я могу использовать весенний боб для моего внутреннего класса?
Я не уверен, что вы можете это сделать. Возможно, вместо этого создайте фабричный метод, который возвращает созданный экземпляр 'B'. –
Это единственный способ? Фактически я изменил «B» на статический, и он временно разрешил мою проблему. Однако; Я ищу способ сделать его нестатичным снова. –