我正在使用 Spring @Configuration
注释来配置我的应用程序。
目前,我有一个 @Configuration
类,其中声明了我的所有 bean。随着 bean 的数量不断增加(超过 30 个),我想将其拆分为多个类。
一些 bean 使用通用类(主要是实用程序类):
Foo.class 是一个实用类 Bar.class 和 Baz.class 都使用 Foo.class
我想将所有 Foo、Bar 和 Baz
放在三个不同的 @Configuration
类中(分别为 Conf1、Conf2 和 Conf3
)
问题是我无法从 Conf2 和 Conf3
访问 Conf1
的实例:
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;
}
}
关于如何解决这个问题的任何想法?
最佳答案
@Configuration
@Import({ DataSourceConfig.class, TransactionConfig.class })
public class AppConfig extends ConfigurationSupport {
// bean definitions here can reference bean definitions in DataSourceConfig or TransactionConfig
}
关于java - Spring多个@Configuration类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10698669/