복붙노트

[SPRING] 프로그래밍 방식으로 스프링 빈에 값 전달하기?

SPRING

프로그래밍 방식으로 스프링 빈에 값 전달하기?

나는 봄 콩 밑에있다.

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

}

이제 봄 구성 파일에 다음과 같은 설정이 있습니다.

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

이제 나는 동적이기 때문에 위의 설정에서 값을 하드 코딩 할 수 없습니다.

이제 나는 아래 코드를 사용하여 프로그램 적으로 스프링 빈을 얻고있다.

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

이제 어떻게 Employee2 생성자에 값을 전달할 수 있습니까?

감사!

해결법

  1. ==============================

    1.빈 조회를 할 때. 대신 varargs getBean 메소드를 사용하여 생성자에 인수를 보내십시오.

    빈 조회를 할 때. 대신 varargs getBean 메소드를 사용하여 생성자에 인수를 보내십시오.

    그래서 다음과 같이 시도해보십시오 :

    Employee2 emp = (Employee2)applicationContext.getBean("emp2", "someid", "somename", "somesalaray");
    
  2. from https://stackoverflow.com/questions/21826639/passing-values-to-spring-bean-programmatically by cc-by-sa and MIT license