▪ 경량 컨테이너
- 객체 생성, 소멸과 같은 생명 주기를 관리하며 스프링 컨테이너로부터 필요한 객체를
얻어 올 수 있음
▪ 제어의 역행(Inversion of Control, IoC) 지원
- 메서드나 객체의 호출 제어권이 사용자가 아닌 프레임워크에 있어 필요에 따라 스프링
에서 사용자의 코드를 호출함
▪ 의존성 주입(Dependency Injection, DI) 지원
- 각 계층이나 서비스 간에 의존성이 존재할 경우 프레임워크가 서로 연결해줌
▪ 관점 지향 프로그래밍(Aspect-Oriented Programming, AOP) 지원
- 트랜잭션이나 로깅, 보안과 같이 여러 모듈에서 공통적으로 사용하는 기능의 경우 해당
기능을 분리하여 관리할 수 있음