У меня есть класс Spring конфигурации Java, который определяет компонент внутри, например:классы Spring @Configuration, как настроить несколько экземпляров одного и того же компонента проходя различные параметры
@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
.
- В приложении для загрузки весны можно до
@Import
одного и того же класса несколько раз? SELF-ANSWERED: Если вы импортируете тот же класс @Configuration, он переопределит существующий. - Как можно сделать это с помощью Spring Java Config?
UPDATE:
В 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
Посмотрите на 'FactoryBean' –
Я мог бы определить' @Bean FactoryBean 'но я до сих пор не понимаю, как задать различные значения SomeProperty. –
codependent
Если вы добавляете некоторые объекты бобов в другие бобы, вы можете определить их так: @Bean public SomeBean someBean (String someProperty) Итак, вы будете определять someBean один раз, и вы можете создать несколько объектов с помощью того же определения. – mokarakaya