предположим, что у вас есть следующая цепочка зависимостей:
A -> B -> C -> x -> y -> Z
A, B, C - бобы с пружинным управлением (сконструированы и управляются с помощью пружинных рамок)
x, y - действительно простые POJO, созданные вашим приложением без помощи пружины
Теперь, если вы хотите, чтобы y получал ссылку на Z с помощью пружины, вам необходимо иметь «дескриптор» для пружины ApplicationContext
Один из способов сделать это - реализовать интерфейс ApplicationContextAware . В этом случае я бы предложил, чтобы A, B или C реализовали этот интерфейс и сохранили ссылку applicationContext в статическом члене.
Итак, давайте возьмем Класс C, например:
class C implmenets ApplicationContextAware{
public static ApplicationContex ac;
void setApplicationContext(ApplicationContext applicationContext) {
ac = applicationContext;
}
.............
}
теперь, в классе y вы должны иметь:
(Z)(C.ac.getBean("classZ")).doSomething()
HTH - Йонатан