본문 바로가기
🌈 백엔드/스프링 프레임워크

스프링 컨테이너 IoC컨테이너

by 개발자 알마 2023. 9. 4.
반응형

 

[1] 스프링 컨테이너


 

(1) IoC 정의 

제어의 역전 = 객체에 대한 제어권이 바뀌었다 = 제어반전 

컴포넌트 의존관계 , 설정 , 생명주기를 해결하기 위해 디자인 패턴(전략패턴)에 적용한다 

고전방식인 메서드에 기능을 직접 객체생성하는 방식에서 IoC방식인 공통기능을 가진 메서드가 실행시 객체가 생성되는 방법으로 변화되었다 

자주 변하는 코드를 변하지 않는 코드 형태로 작성하여 유지보수에 용이하는 것을 목적으로 한다 

사용할 객체를 외부에서 주입해주는 개념 (의존성주입 DI) 에 적용한다 

 

(왼) 고전방식 (오) IoC방식

 

 

(2) IoC컨테이너 : 스프링 컨테이너 

객체의 생명주기를 관리, 생성된 인스턴스에게 추가기능을 제공하도록 한다 

객체를 생성하고 의존성을 관리해주는 컨테이너 

스프링 컨테이너가 관리하는 객체를 Bean이라고 한다 

Map 인타페이스를 통해 스프링컨테이너를 만들고 key와 value를 통해 객체주소를 불러온다 

bean의 저장소를 의미한다 
bean을 저장하고 관리한다
생성,소멸,연결 기능을 가지고 있다 

 

 

(3) Ioc 분류 

DL  DI
저장된 Bean에 접근하기 위해 컨테이너가 제공하는 API를 이용하여 Bean을 Lockup한다 각 클래스간의 의존관계를 Bean 설정 정보를 바탕으로 컨테이너가 자동으로 연결해준다 
  수정자 주입 , 생성자 주입 , 필드 주입
  의존성주입
  사용할 객체를 외부에서 주입받는것 

 

 

반응형

댓글