메모장

Spring 의존성, 의존 주입(setter) 본문

Spring/개념정리

Spring 의존성, 의존 주입(setter)

Itchild 2024. 5. 30. 22:32
728x90
반응형

★★★★★

1) 의존성( Dependency) , 의존관계

갤럭시 폰은 갤럭시 워치 객체 없이 볼륨을 업 할 수 없기 때문에

메서드 수행이 불가능 하기 때문에 의존관계가 되었다.

휴대폰이 워치를 의존한다.

2) 의존 주입(Dependency Injection) , 의존성 주입

갤럭시 폰이 갤럭시 워치를 주입 받아야한다. (휴대폰이 워치를 의존 하기 때문에)

주입 이란말은 new를 해줘야 된다는 말 == new,초기화

★★★★★

 


의존주입 방법

생성자 주입 방법을 알아보자 !

1. 생성자 주입(constructor) : 생성자 오버로딩을 해서 인자로 데이터를 받아서 한번에 하는 방식

(자바 때 쓴 방식)

2. setter 주입 : 기본 생성자에 setter로 넣어주는 방식 (jsp 방식)

 


< setter 주입 방법 >

 

멤버변수를 두개 만들었다 !

watch는 의존 관계

name 은 의존관계 는 아니다.

 

setter 주입을 할 때는 property 를 쓴다.

name = "watch(변수명) ref = "넣을 객체명"

name = "name" value ="티모" 값 (String , Int)

이름을 반드시 맞춰서 작성해야 한다. 이름으로 찾아가기 때문에 ("name")

 

-------------------------------------------------------------------------------------

위 사진에 해당하는 각 라인 설명

 

  • " lazy-init " 으로 지연로딩 된다. -> 호출 시점에 생성된다. 그러므로 현재는 호출 x

 

  • <bean class="test.IPhone" id="apple"> : 기본 생성자 이다.

IPhone 에는 <constructor-arg ref="a" /> 가 없기 때문에 기본 생성자를 불러온다. 기본 생성자가 출력된다.

 

  • setter 과정

<property name="watch" ref="gw" /> setter 에 주입하려면 watch가 필요하다.

watch는 갤럭시워치의 "gw" -> 갤럭시 워치 "gw" 의 기본 생성자가 호출된다.

------- setter 마무리 -------

 

이 순서로 출력된다.

 

  1. 아이폰의 기본 생성자
  2. 갤럭시 워치의 객체가 생성된다.
  3. setter 출력

 

★★ 생성자 호출 순서를 잘 알자 !

 

728x90
반응형

'Spring > 개념정리' 카테고리의 다른 글

Annotation ( @, 어노테이션 )  (0) 2024.05.30
Spring 의존성,의존주입(setter) 컬렉션  (0) 2024.05.30
<Bean> 태그의 속성  (0) 2024.05.30
Spring 의존성, 의존 주입(생성자)  (0) 2024.05.30
Spring 프레임워크 개요  (0) 2024.05.30