如何在应用程序上下文类中调用重载的bean?

问题描述 投票:0回答:1
package one.two.three;

import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;


@Configuration
public class ConfigurationClass {

    @Bean
    Car getBean(int plate) {return new Car(plate);}
    @Bean
    Car getBean() {return new Car();}

    @Bean
    Car getBean(String name,int plate) {return new Car(name,plate);}

    @Bean
    Maruti getMaruti(int plate){
        return new Maruti(plate);
    }

}


 
spring javabeans
1个回答
0
投票

在你的

@Bean
中传递一个参数,它被称为限定符,就像这样
@Bean("MyCarBean")
一样,当你想要将汽车传递给时,你必须用
@Qualifier("MyCarBean")
来注释它。这样做可以解决您的问题 另外,以下链接将为您提供有关此问题的更多信息。 https://www.baeldung.com/spring-same-class-multiple-beans

编辑:你所做的将不起作用,因为 beans 参数也是 beans 并且你无法控制它们。因此,除非您为类型

int
String

定义另一个 bean,否则它将无法获取您传递的那些参数的值
© www.soinside.com 2019 - 2024. All rights reserved.