在春天4连接两个豆

时间:2017-04-04 09:22:52

标签: java spring

我有一个名为“basic”的bean,我想将其连接到名为callingApp的另一个bean,我该怎么做?

第一豆

@Bean
public Phone basic() {
    Phone phone = new BasicPhone();
    return phone;

}

第二豆

 @Bean
public CallingApp callingApp() {



    return new CallingApp( i want to inject bean of BasicPhone here);
}

1 个答案:

答案 0 :(得分:1)

如果您提供的方法放在使用@Configuration注释的java类中,您应该执行以下操作:

@Bean
public CallingApp callingApp(Phone phone) {
    return new CallingApp(phone);
}

Spring将按类型自动装配依赖项Phone phone。如果您有多个此类型的bean,则应使用@Qualifier("basic"),因为当您通过使用@Bean注释方法来实例化bean时,bean的名称将默认设置为方法名称

@Bean
public CallingApp callingApp(@Qualifier("basic") Phone phone) {
    return new CallingApp(phone);
}

如果您想要更改Phone类型的bean的名称,您还可以使用@Qualifier,如下所示:

@Bean
@Qualifier("basicPhone")
public Phone basic() {
    Phone phone = new BasicPhone();
    return phone;

}

修改

关于如何实现目标的简单示例如下blog post