5

我有一个包含同一组件的两个自动装配实例的 bean:

@Component
public SomeBean {
    @Autowired
    private SomeOtherBean someOtherBean1;
    @Autowired
    private SomeOtherBean someOtherBean2;
    ...
}

SomeOtherBean 有一个原型作用域:

@Component
@Scope("prototype")
public SomeOtherBean {
    @Value("...")
    private String configurable;
}

每个自动装配的 SomeOtherBean 的可配置值需要不同,并将通过属性占位符提供:

configurable.1=foo
configurable.2=bar

理想情况下,我想使用注释来指定可配置属性的值。

通过 XML 做到这一点很容易,但我想知道这是否是

  • a) 不可能有注释或
  • b) 如何做到。
4

1 回答 1

1

也许这与您的想法略有不同,但您可以使用@Configuration基于 - 的方法轻松完成,例如:

@Configuration
public class Config {

    @Bean
    @Scope("prototype")
    public SomeOtherBean someOtherBean1(@Value("${configurable.1}") String value) {
        SomeOtherBean bean = new SomeOtherBean();
        bean.setConfigurable(value);
        return bean;
    }

    @Bean
    @Scope("prototype")
    public SomeOtherBean someOtherBean2(@Value("${configurable.2}") String value) {
        // etc...
    }
}
于 2013-09-25T12:21:18.943 回答