Spring @Configuration 类,如何配置同一个bean的多个实例传递不同的参数

Spring @Configuration classes, how to configure multiple instances of the same bean passing different parameters

我有一个 Spring Java 配置 class 在里面定义了一个 bean,例如:

@Configuration
public class SomeConfig{

    private String someProperty;  

    public SomeConfig(String someProperty){
        this.someProperty=someProperty;
    }

    @Bean
    public SomeBean someBean(){
        SomeBean s = new SomeBean(someProperty);
        return s;    
    }
}

我需要多个 SomeBean 实例,每个实例都配置了不同的 someProperty 值。

  1. 在 Spring 引导应用程序中,是否可以多次 @Import 相同的 class? 自答:如果您导入相同的@Configuration class,它将覆盖现有的。
  2. 如何使用 Spring Java 配置完成这样的事情?

更新:

在XML我能做到:

<bean class="x.y.z.SomeBean">
    <constructor-arg value="1"/>
</bean>
<bean class="x.y.z.SomeBean">
    <constructor-arg value="2"/>
</bean>

我正在寻找 Java Config

的等效项
@Configuration
public class SomeConfig{

    private String someProperty;  

    @Bean
    public OtherBean otherBeanOne(){
        OtherBean otherBean = new OhterBean();
        otherBean.setSomeBean(someBean("property1"));
        return otherBean;    
    }


    @Bean
    public OtherBean otherBeanTwo(){
        OtherBean otherBean = new OhterBean();
        otherBean.setSomeBean(someBean("property2"));
        return otherBean;    
    }

    @Bean
    public SomeBean someBean(String someProperty){
        SomeBean s = new SomeBean(someProperty);
        return s;    
    }


}

我只需要使用另一个 @Configuration class 即可根据需要定义尽可能多的 SomeConfig beans:

@Configuration
public class ApplicationConfig{

    @Bean
    public SomeConfig someConfig1(){
        return new SomeConfig("1");
    }

    @Bean
    public SomeConfig someConfig2(){
        return new SomeConfig("2"); 
    }
}