본문 바로가기

SPRING

DI 의존성 주입 - xml 파일 <bean> <constructor-arg>

* xml 파일에 빈 객체를 직접 생성하기

- root-context.xml 파일 내부에는 <beans> 라는 태그 존재. 그 안에 <bean> 이라는 태그를 이용하여 개별 객체들을 직접 생성

- 즉, 무대 위에 발라드 가수, 힙합 가수를 동시에 올릴 수 있게 됨. 어노테이션의 한계 극복

 

* <bean id=" " class=" ">

- 객체를 생성해주는 <bean> 태그 (주입은 해주지 않음, 단순히 객체 생성만)

- id : 컨테이너 내부적으로 사용할 명칭, 변수명, 자유롭게 지정할 수 있음, 적지 않을 경우 클래스명이 id가 됨
- class : 필수 속성, 패키지명을 포함한 클래스 파일의 경로 입력,
그 클래스 파일을 활용한 객체가 bean-container 내부에 id명으로 생성

 

* <constructor-arg> : 생성자 의존성 주입 

- <bean> 태그로 객체 생성해주고, <constructor-arg> 태그로 의존성 주입해주기

  (Ballad, Hiphop은 의존 관계가 없기 때문에 객체 생성만 진행한 것)

- 같은 경로(<bean class>)를 참조해도, 변수명(<bean id>)을 다르게 하면 같은 객체 여러 개 생성 가능

  (즉, Stage에 발라드 가수도, 힙합 가수도, 댄스 가수도 변수명만 다르게 해서 한꺼번에 올릴 수 있게 됨)

- 방송국은 무대가 꼭 있어야함. 방송국은 무대에 의존. 따라서 생성자 의존성 주입 필요.

 

 

console :  방송 송출용 무대에서 힙합가수가 랩을 합니다. / 방송 송출용 무대에서 발라드 가수가 소몰이를 합니다.

* <property> : setter 의존성 주입 

- spring day2_0812 파일 참고

 

* 연습문제