개발자 랩실/스프링&스프링부트
Spring Framework(스프링 프레임워크)란
sina.dev
2022. 1. 31. 17:38
728x90
목차
1. Spring Framework란
- 자바 플랫폼을 위한 오픈소스 애플리케이션 프레임워크로서 엔터프라이즈급 애플리케이션을 개발하기 위한 모든 기능을 종합적으로 제공하는 경량화된 솔루션이다.
- 대규모 데이터 처리와 트랜잭션이 동시에 여러 사용자로부터 행해지는 매우 큰 규모의 환경을 엔터프라이즈급 환경이라 일컫는데, 엔터프라이즈급 환경의 시스템 개발을 위해 사용된다.
2. Spring Framework 특징
1. 경량 컨테이너
각각의 객체 생성, 소멸과 같은 라이프 사이클을 관리하며 스프링으로부터 필요한 객체를 얻어올 수 있다.
2. 제어 역행 (IoC : Inversion of Control)
- 애플리케이션의 느슨한 결합을 도모
- 컨트롤의 제어권이 사용자가 아니라 프레임워크에 있어 필요에 따라 스프링에서 사용자의 코드를 호출함
3. 의존성 주입(DI : Dependency Injection)
- 각각의 계층이나 서비스들 간에 의존성이 존재할 경우 프레임워크가 서로 연결 시켜 줌
4. 관점 지향 프로그래밍 (AOP : Aspect-Oriented Programming)
- 트랜 잭션이나 로깅, 보안과 같이 여러 모듈에서 공통적으로 사용하는 기능의 경우 해당 기능을 분리하여 관리할 수 있음
5. MVC 패턴
- Model-View-Controller
- 웹 프로그래밍 개발시 거의 표준적인 방식인 Spring MVC라 불리는 MVC 패턴을 사용함
- DispatcherServlet이 Controller 역할을 담당하여 각종 요청을 적절한 서비스에 분산시켜주며 이를 각 서비스들이 처리를 하여 결과를 생성하고 그 결과는 다양한 형식의 View 서비스들로 화면에 표시됨
6. POJO 방식의 프레임워크
- POJO는 Plain Old Java Object 로, 평범한 자바 객체를 말한다. 객체 지향 원리에 충실하면서, 특정 환경이나 규약에 종속되지 않고 필요에 따라 재활용될 수 있는 방식으로 설계된 객체이다.