본격적으로 스프링에 대한 공부를 시작했다.
spring
스프링 주요 특징
- POJO 기반의 구성
- 의존성 주입(DI)을 통한 객체 간의 관계 구성
- AOP 지원
- 편리한 MVC 구조
- WAS의 종속적이지 않은 개발 환경
POJO 기반의 구성
POJO란 Plain Old Java Object의 약자로 다른 기술을 사용하지 않는 순수한 Java만을 사용하여 만든 객체를 의미합니다.
IoC
- IoC는 Inversion of Control(제어의 역전)을 의미합니다.
- 개발자가 직접 객체들이 프로그램의 흐름을 결정하고 각 객체를 new를 통해 직접 생성하고 조작하던것을 특별한 관리 위임 주체(스프링컨테이너)에게 맡겨서 관리합니다.
- 스프링 애플리케이션에서는 빈의 생성과 의존 관계 설정, 사용, 제거 등의 작업을 애플리케이션 코드 대신 스프링 컨테이너가 담당합니다.
- 여기서 스프링 컨테이너가 코드 대신 오브젝트에 대한 제어권을 가지고 있습니다.
- Bean은 스프링 컨테이너가 관리하는 자바 객체입니다.
DI
- Dependency Injection(의존성 주입)을 의미합니다.
- 외부에서 관리할 객체를 지정해주고, 코드내에서 컨테이너에서 생성된 객체를 생성자, setter등으로 받아서 사용하는 디자인 패턴입니다.
- 스프링에서는 빈을 구성할 때 객체간의 의존 관계를 명시하면 스프링컨테이너가 자동으로 관리해줍니다.