我正在使用 Spring@Configuration
注释来配置我的应用程序。
目前,我有一个@Configuration
类,其中声明了我的所有 bean。随着 bean 数量的增加(超过 30 个),我想将它分成许多类。
一些 bean 使用公共类(主要是实用程序类):
Foo.class是一个实用类 Bar.class和Baz.class都使用Foo.class
我想拥有Foo, Bar and Baz
三个不同的@Configuration
班级(分别Conf1, Conf2 and Conf3
)
问题是我无权访问Conf1
from的实例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;
}
}
关于如何解决这个问题的任何想法?