■ Spring + Boot
[Spring] Bean 의존 관게 설정 법 /property와 constructor-arg 차이
히짱이네
2021. 2. 17. 15:39
빈을 등록하다보면 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를 의존시켜라~라는 뜻을 빈으로 등록한것이다.