스프링의 개념
- 자바 기반의 웹 어플리케이션을 만들수 있는 프레임워크
- 스프링 구조

스프링의 특징
- Spring은 자바 객체와 라이브러리들을 관리해주며, 톰캣과 같은 WAS가 내장되어 있어 자바 웹 어플리케이션을 구동할 수 있습니다.
- Spring은 경량 컨테이너로 자바 객체를 직접 Spring안에서 관리합니다. 객체의 생성 및 소멸과 생명주기를 관리하며, Spring컨테이너에서 필요한 객체를 가져와 사용합니다.
- IOC,DI,POJO,AOP
loc
- 제어의 역전
- 객체의 생성을 특별한 관리 위임 주체에게 맡긴다 이 경우 사용자는 객체를 직접 생성하지 않고, 객체의 생명주기를 컨트롤하는 주체는 다른 주체가 된다
- 사용자의 제어권을 다른 주체에게 넘김
DI
- 의존성 주입
- 객체를 외부에서 생성해서 사용하려는 주체 객체에 주입시켜주는 방식
POJO
- spring은 getter,setter 방식의 순수한 자바 오브젝트 기반 프레임워크
AOP
- 관점 지향 프로그래밍
- 기능분리
- 개발과 비즈니스 로직을 분리하여 트랜잭션, 로깅, 보안과 같은 부분을 종단으로 분리하여 관리할 수 있도록한다
- 재사용성 ⬆️: 중복된 코드를 최대한 배제하여 기능이 필요할 때만 호출하여 쓴다
스프링 부트
는 스프링을 더 쉽게 이용하기 위한 도구