Spring / Spring interview questions
How do I instantiate Spring bean by passing constructor-args programmatically?
You can use the ApplicationContext.getBean(String name, Object ... params) method, which allows for specifying explicit constructor arguments / factory method arguments, overriding the specified default arguments (if any) in the bean definition.
For example, the Employee object needs 2 constructor args (id and name) to instantiate.
@Component public class Employee { private int id; private String name; public Employee(int id, String name) { this.id = id; this.name = name; } }
To create the bean, use the below code.
Integer id = 102; String name = "javapedia.net"; Employee emp = (Employee)applicationContext.getBean("employee", id, name);
More Related questions...