首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Spring多@配置类

Spring多@配置类
EN

Stack Overflow用户
提问于 2012-05-22 08:49:32
回答 2查看 33.6K关注 0票数 18

我使用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.类

代码语言:javascript
复制
@Configuration 
public class Conf1 {
    @Bean
    public Foo foo() {
        return new Foo();
    }
}

Conf2.类

代码语言:javascript
复制
@Configuration 
public class Conf2 {
    @Bean
    public Bar bar() {
        Bar bar = new Bar();
        bar.setFoo(conf1.foo()); // Not possible !
        return bar;
    }
}

Conf3.类

代码语言:javascript
复制
@Configuration 
public class Conf3 {
    @Bean
    public Baz baz() {
        Baz baz = new Baz();
        baz.setFoo(conf1.foo()); // Not possible !
        return baz;
    }
}

我有什么办法解决这个问题吗?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2012-05-22 09:09:12

你应该能够让他们:

代码语言:javascript
复制
@Configuration 
public class Conf2 {
    @Autowired
    Conf1 conf1;
    ...
}

或者,您可以自动创建bean,而不是配置:

代码语言:javascript
复制
@Configuration 
public class Conf2 {
    @Autowired
    Foo foo;
    ...
}
票数 21
EN

Stack Overflow用户

发布于 2016-03-18 11:29:47

代码语言:javascript
复制
@Configuration
@Import({ DataSourceConfig.class, TransactionConfig.class })
public class AppConfig extends ConfigurationSupport {
      // bean definitions here can reference bean definitions in DataSourceConfig or TransactionConfig
}
票数 22
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/10698669

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档