- Spring Framework 개요
- Spring Framework
: 자바 플랫폼을 위한 오픈소스 애플리케이션 프레임워크로, 간단하게 Spring(스프링)이라고도 함.
동적인 웹사이트를 개발하기 위한 여러 서비스를 제공하며, 국내 공공기관의 웹 서비스 개발 시 사용을 권장하고 있는 전자정부 표준 프레임워크(Spring MVC Project 기반 프레임워크)의 기반 기술로 쓰이고 있음.
- Spring Framework 특징
★ ★ IOC(Inversion of Control) 제어 반전 ★ ★ |
컨트롤의 제어권이 개발자가 아니라 프레임워크에 있다는 뜻으로, 객체의 생성부터 모든 생명주기 관리까지 프레임워크가 주도함. 객체를 생성하고 직접 호출하지 않고, 만든 자원을 호출해서 사용함. |
★ ★ DI(Dependency Injection) 의존성 주입 ★ ★ |
설정 파일이나 어노테이션을 통해 객체 간의 의존 관계를 설정하여 개발자가 직접 의존하는 객체를 생성할 필요가 없음. |
POJO 기반 프레임워크 (Plain Old Java Object) |
J2EE, EJB와 같은 특정 기술이나 라이브러리의 내용을 상속 받아 클래스를 구현하지 않고, 일반적인 기본 기능만을 가진 순수한 자바 객체를 의미함. 특정 클래스에 종속되지 않으므로 자바의 객체지향 설계가 쉬워지고, 코드길이 감소 / 유지보수성 증가 / 기존 Java API 및 라이브러리 지원에 용이함. |
Spring AOP (Aspect Oriented Programming) 관점 지향 프로그래밍 |
트랜잭션, 로깅, 보안 등 여러 모듈, 여러 계층에서 공통으로 필요로 하는 기능의 경우, 해당 기능을 분리하여 관리함. |
Spring JDBC | Mybatis나 Hibernate 등의 데이터베이스를 처리하는 영속성 프레임워크와 연결할 수 있는 인터페이스를 제공함. |
Spring MVC | MVC 디자인 패턴을 통해 웹 애플리케이션의 Model, View, Controller 사이의 의존관계를 DI 컨테이너에서 관리하여 개발자가 아닌 서버가 객체를 관리하는 웹 애플리케이션을 구축할 수 있음. |
PSA (Portable Service Abstraction) |
Spring은 다른 여러 모듈을 사용함에 있어 별도의 추상화 Layer를 제공함. 예를 들어, JPA를 사용할 때 Spring JAP를 사용하여 추상화하므로 실제 구현에 있어서 Hibernate를 사용하든 EclipseLink를 사용하든 개발자는 모듈의 의존 없이 프로그램에 집중할 수 있음. |
- Spring MVC 요청 처리 과정
- Spring MVC 구성 요소
구성요소 | 설명 |
DispatcherServlet | 클라이언트의 요청(Request)을 전달 받고, 요청에 맞는 Controller가 리턴한 결과값을 View에 전달하여 알맞은 응답(Response)을 생성 |
HandlerMapping | 클라이언트의 요청 URL을 어떤 Controller가 처리할지 결정 |
Controller | 클라이언트의 요청을 처리한 뒤, 결과를 DispatcherServlet에게 리턴 |
ModelAndView | Controller가 처리한 결과 정보 및 뷰 선택에 필요한 정보를 담음 |
ViewResolver | Controller의 처리 결과를 생성할 view를 결정 |
View | Controller의 처리 결과 화면을 생성, JSP나 Velocity 템플릿 파일 등을 view로 사용 |
'Framework > Spring' 카테고리의 다른 글
Framework 기본 개념 (0) | 2025.02.03 |
---|