Этого можно достичь с помощью интерфейса BeanFactory
(ApplicationContext
реализует его) и прототипа требуемого компонента.
В классе MyConfig
область действия bean-компонента должна быть установлена в «prototype»:
// import org.springframework.context.annotation.Scope;
@Bean
@Scope("prototype")
public Sample sample(int x) {
return new Sample(x);
}
Затем вместо автопроводки config
в MyService
должен быть подключен экземпляр BeanFactory
:
@Autowired
private BeanFactory beanFactory;
Чтобы получить экземпляр компонента Sample
, его следует вызывать следующим образом:
Sample sample = beanFactory.getBean(Sample.class, 1);