스프링 프레임워크는 자바 개발을 편리하게 해주는 오픈소스 프레임워크 입니다.
•
경량 컨테이너로서 자바 객체를 직접 관리
◦
각각의 객체 생성, 소멸과 같은 라이프 사이클을 관리하며 스프링으로부터 필요한 객체를 얻어올 수 있다.
•
제어의 역전(IoC)이라는 기술을 통해 어플리케이션의 느슨한 결합을 도모
◦
컨트롤의 제어권이 사용자가 아닌 프레임워크에 있어서 필요에 다라 스프링에서 사용자의 코드를 호출한다.
•
의존성 주입(DI, Dependency Injection)을 지원
◦
각각의 계층이나 서비스들 간에 의존성이 존재할 경우 프레임워크가 서로 연결시켜준다.
•
관점 지향 프로그래밍(AOP, Aspect-Oriented Programming)을 지원
◦
트랜잭션이나 로깅, 보안과 같이 할 수 있다.
여러 모듈에서 공통적으로 사용하는 기능의 경우 해당 기능을 분리하여 관리