빈을 등록하다보면 property와 constructor-arg를 쓸때가 각가 있다.

어떨때 property를 사용하고 어떨때 constructor-arg를 사용하지는지 알아보자.

 

 

Setter Injection:<property>태그

 

 

Setter메소드를 통해 의존 관계가 있는 Bean을 주입할려면 <property>태그를 사용할 수 있다.

- ref 속성을 사용하면 Bean이름을 이용해 주입할 Bean을 찾는다.

- value 속성은 단순 값 또는 Bean이 아닌 객체를 주입할 때 사용한다.

 

 

 

Constructor Injection : <constructor-arg>태그

Constructor를 통해 의존 관계가 있는 Bean을 주입하려면 <constructor-arg>태그를 사용할 수 있다.

Constructor 주입 방식은 생성자의 파라미터를 이용하기 때문에 한번에 여러 개의 객체를 주입할 수 있다.

- index 속성을 사용하는 방법과 name속성을 이용하는 방법으로 나뉜다.

 

 

MemberDao.Class 이다.

이런식으로 MemberDao클래스 안의 생성자의 인자값으로 dataSource를 의존시켜라~라는 뜻을 빈으로 등록한것이다.