1. Spring Framework란?
자바 엔터프라이즈 개발을 편하게 해주는
오픈 소스 경량급 애플리케이션 프레임워크
- Framework vs Library
- Framework : 제어의 역전(IoC) 개념이 적용된 대표적인 기술
- Library : 단순 활용가능한 도구들의 집합
2. Spring Framework의 특징
1) 경량 컨테이너
스프링은 객체를 담고 있는 컨테이너로써 자바 객체의 생성과 소멸과 같은 라이프사이클을 관리하고, 언제든 필요한 객체를 가져다 사용할 수 있도록 해준다.
2) DI를 통한 객체 간의 관계 구성
의존성 주입(Dependency Injection)
클래스의 인스턴스를 외부에 생성하여 Setter나 생성자로 주입 → 객체들 간의 느슨한 결합을 유지한다.
3) POJO 기반의 구성
Plain Old Java Object
특정 기술에 종속되어 동작하는 것이 아닌 순수한 자바 객체
4) 관점 지향 프로그래밍(AOP)를 지원
Aspect Oriented Programming
자체적으로 프록시 기반의 AOP를 지원하여 트랜젝션이나 로깅, 보안 등의 기능을 분리하여 각 모듈에 적용한다.