Как создать @Bean в области прототипа с аргументами времени выполнения? С getBean(String name, Object... args)
? Мой вопрос является следствием этот вопрос.
Почему этот подход не используется и не упоминается в Документация Spring IoC?
Это нормальный подход? Есть ли более правильный подход для создания прототипа @Bean с аргументами времени выполнения?
Если это не нормальный подход, не могли бы вы объяснить, почему? Обратите внимание, что мне нужно устанавливать аргументы через конструктор, а не через сеттеры.
@Autowired
private ApplicationContext appCtx;
public void onRequest(Request request) {
//request is already validated
String name = request.getParameter("name");
Thing thing = appCtx.getBean(Thing.class, name);
//System.out.println(thing.getName()); //prints name
}
-
public class Thing {
private final String name;
@Autowired
private SomeComponent someComponent;
@Autowired
private AnotherComponent anotherComponent;
public Thing(String name) {
this.name = name;
}
public String getName() {
return this.name;
}
}
getBean
- person Dovmo   schedule 26.05.2018