728x90
의존성 주입
Spring Framework의 특징은 객체의 생성과 의존관계를 컨테이너가 자동으로 관리한다.
Dependency Lookup
- 컨테이너가 애플리케이션에 필요한 객체를 생성하고 클라이언트는 컨테이너가 생성한 객체를 검색(LookUp)하여 사용하는 방식
Dependency Injection
- 객체 사이의 의존관계를 스프링 설정 파일에 등록된 정보를 바탕으로 컨테이너가 자동으로 처리하는 방식
- Setter Injection
- Constructor Injection
의존성 관계
객체와 객체의 결합 관계
하나의 객체에서 다른 객체의 변수나 메소드를 이용해야 한다면 이용하려는 객체에 대한 레퍼런스가 필요하다.
Constructor Injection사용
- 스프링 컨테이너는 XML 설정 파일에 등록된 클래스를 찾아서 객체 생성할 때 기본적으로 매개변수가 없는 기본 생성자(Default Constructor)를 호출한다.
- 하지만 기본 생성자 말고도 매개변수를 가지는 다른 생성자를 호출할 수 있으며 이를 이용해 생성자 인젝션을 처리할 수 있다.
Setter Injection사용
- Setter메소드를 호출하여 의존성 주입을 처리하는 방법
- Seter메소드는 스프링 컨테이너가 자동으로 호출
- 호출 시점은 <bean> 객체 생성 직후이다.
- 즉 Setter Injection이 동작하려면 기본 생성자도 반드시 필요하다.
728x90
'Spring' 카테고리의 다른 글
Spring Framework 2 (0) | 2019.12.04 |
---|---|
Spring Framework 1 (0) | 2019.12.04 |
1 (0) | 2019.08.25 |
Spring Framework 2 (0) | 2019.06.13 |
Spring Framework (0) | 2019.06.13 |