Я использую аннотацию Spring @Configuration
для настройки своего приложения.
В настоящее время у меня есть один класс @Configuration
, в котором объявлены все мои bean-компоненты. Поскольку количество бобов растет (более 30), я хочу разделить его на несколько классов.
Некоторые бины используют общие классы (в основном служебные классы):
Foo.class - это служебный класс Bar.class и Baz.class используют Foo.class
Я хочу иметь все Foo, Bar and Baz
в трех разных классах @Configuration
(соответственно Conf1, Conf2 and Conf3
)
Проблема в том, что у меня нет доступа к экземпляру Conf1
из Conf2 and Conf3
:
Conf1.class
@Configuration
public class Conf1 {
@Bean
public Foo foo() {
return new Foo();
}
}
Conf2.class
@Configuration
public class Conf2 {
@Bean
public Bar bar() {
Bar bar = new Bar();
bar.setFoo(conf1.foo()); // Not possible !
return bar;
}
}
Conf3.class
@Configuration
public class Conf3 {
@Bean
public Baz baz() {
Baz baz = new Baz();
baz.setFoo(conf1.foo()); // Not possible !
return baz;
}
}
Есть идеи, как решить эту проблему?