我使用Spring @Configuration注释来配置我的应用程序。
目前,我有一个@Configuration类,其中声明了所有bean。由于豆子的数量在增加(超过30),我想把它分成很多类。
有些bean使用公共类(主要是实用程序类):
Foo.class是一个实用程序类Bar.class和Baz.class都使用Foo.class
我希望所有的Foo, Bar and Baz都在三个不同的@Configuration类中(分别是Conf1, Conf2 and Conf3)。
问题是,我无法从Conf1访问Conf2 and Conf3的实例:
Conf1.类
@Configuration
public class Conf1 {
@Bean
public Foo foo() {
return new Foo();
}
}Conf2.类
@Configuration
public class Conf2 {
@Bean
public Bar bar() {
Bar bar = new Bar();
bar.setFoo(conf1.foo()); // Not possible !
return bar;
}
}Conf3.类
@Configuration
public class Conf3 {
@Bean
public Baz baz() {
Baz baz = new Baz();
baz.setFoo(conf1.foo()); // Not possible !
return baz;
}
}我有什么办法解决这个问题吗?
发布于 2012-05-22 09:09:12
你应该能够让他们:
@Configuration
public class Conf2 {
@Autowired
Conf1 conf1;
...
}或者,您可以自动创建bean,而不是配置:
@Configuration
public class Conf2 {
@Autowired
Foo foo;
...
}发布于 2016-03-18 11:29:47
@Configuration
@Import({ DataSourceConfig.class, TransactionConfig.class })
public class AppConfig extends ConfigurationSupport {
// bean definitions here can reference bean definitions in DataSourceConfig or TransactionConfig
}https://stackoverflow.com/questions/10698669
复制相似问题