View
반응형
백기선님의 스프링 프레임워크 핵심 기술이라는 강좌를 들으며 공부한 내용을 정리한 글입니다.
스프링을 이용해 개발을 할 때 '의존성 주입'이라는 말을 많이 들어봤을 것이다.
의존성 주입은 스프링이 제공하는 핵심 기술 중 하나로, 어떤 객체가 사용하는
의존 객체를 직접 만들어 사용하는게 아니라, 주입받아 사용하는 방법을 말한다.
복잡한 의존 관계를 개발자가 관리하는 것이 아닌 스프링 프레임워크가 관리해주기 때문에
개발자는 개발에만 집중할 수 있고, 이는 생산성 향상으로 이어질 수 있다.
이처럼 의존 객체를 개발자가 아닌 스프링 프레임워크가 제어한다는 개념이 IoC이다.
말 그대로 제어권이 개발자가 아닌 스프링 프레임워크로 넘어갔기 때문에 '제어의 역전'이라 부른다.
스프링은 IoC라는 기능을 제공하기 위해 자신이 관리해야 할 객체를 알아야 한다.
따라서 개발자는 Bean을 등록하고 등록된 Bean은 Ioc 컨테이너에 의해 관리된다.
주요 개념 정리
Ioc (Inversion of control)
- 의존 관계 주입(Dpendency Injection) 이라고도 한다.
- 어떤 객체가 사용하는 의존 객체를 직접 만들어 사용하는 게 아니라, 주입받아 사용하는 방법을 말한다.
Ioc 컨테이너
- BeanFactory
- 애플리케이션 컴포넌트의 중앙 저장소
- 빈 설정 소스로부터 빈 정의를 읽어 들이고, 빈을 구성하고 제공
Bean
- 스프링 Ioc 컨테이너가 관리하는 객체
Ioc 컨테이너 기능을 사용하는 이유
- 의존성 관리
- 라이프사이클 인터페이스 지원
- Bean의 스코프
- 객체를 싱글톤으로 관리하고 싶을 때
- 싱글톤 -> 객체 한 번만 생성
- 프로토타입 -> 매번 다른 객체 생성
- 객체를 싱글톤으로 관리하고 싶을 때
반응형
'BackEnd > Spring 핵심 기술' 카테고리의 다른 글
[스프링 핵심기술] - MessageSource (0) | 2020.06.04 |
---|---|
[스프링 핵심기술] - Bean의 스코프 (0) | 2020.05.28 |
[스프링 핵심기술] - @Component와 @ComponentScan (0) | 2020.05.17 |
[스프링 핵심기술] - @Autowired (0) | 2020.05.12 |
[스프링 핵심기술] - ApplicationContext와 다양한 빈 설정 방법 (0) | 2020.05.10 |