以编程方式将值传递给spring bean?

时间:2014-02-17 10:34:25

标签: java spring spring-mvc

我有春豆以下。

public class Employee2 {

  private int id;
  private String name;
  private double salary;


  public Employee2(int id, String name, double salary) {
    this.id = id;
    this.name = name;
    this.salary = salary;
  }

 // some logic to call database using above values

}

现在我在spring配置文件中有以下配置。

<bean id="emp2" class="com.basic.Employee2">
            <constructor-arg name="id" value="" />
            <constructor-arg name="name" value="" />
            <constructor-arg name="salary" value="" />
</bean>

现在我无法对上面配置中的值进行硬编码,因为它们是动态的。

现在我使用下面的代码以编程方式获取spring bean。

Employee2 emp = (Employee2)applicationContext.getBean("emp2");

现在如何将值传递给Employee2构造函数

谢谢!

1 个答案:

答案 0 :(得分:1)

进行bean查找时。请使用varargs getBean方法将参数发送给构造函数。

所以尝试这样的事情:

Employee2 emp = (Employee2)applicationContext.getBean("emp2", "someid", "somename", "somesalaray");