개(발)린이
Spring 개요 본문
스프링이란?
- Spring Framework
자바 플랫폼을 위한 오픈 소스 애플리케이션 프레임 워크이다.
동적인 웹 사이트를 개발하기 위한 여러 가지 서비스를 제공하고 있으며 대한민국 공공기관의 웹
서비스 개발 시 사용을 권장하고 있는 전자정부 표준 프레임워크의 기반 기술로서 쓰이고 있다.
- Spring Framework 특징
- IOC(제어 반전) - 컨트롤의 제어권이 개발자가 아닌 프레임워크에 있다. 객체 생성부터 모든 생명주기의 관리까지 프레임워크가 주도한다.
- DI(의존성 주입) - 설정 파일이나 어노테이션을 통해 객체간의 의존 관계를 설정하여 개발자가 직접 의존하는 객체를 생성할 필요가 없다.
- POJO기반 - 일반적인 기본 기능만을 가진 자바 객체를 사용함을 의미한다.
- Spring AOP - 트랜잭션, 로깅, 보안 등등 여러 계층에서 공통으로 필요로 하는 기능의 경우 해당 기능들을 분리하여 관리한다.
- Spring JDBC - Mybatis나 Hibernate 등의 데이터베이스를 처리하는 영속성 프레임워크와 연결할 수 있는 인터페이스를 제공한다.
- Spring MVC - MVC 디자인 패턴을 통해 웹 어플리케이션의 Model, View, Controller 사이의 의존 관계를 DI 컨테이너에 관리하여 개발자가 아닌 서버가 객체들을 관리하는 웹 어플리케이션을 구축 할 수 있다.
- PSA - 스프링은 다른 여러 모듈을 사용함에 있어 별도의 추상화 레이어를 제공한다. 예를 들어 JPA를 사용할 때에서 Spring JPA를 사용하여 추상화하므로 실제 구현에 있어서 Hibernate를 사용하든 EclipseLink를 사용하든 개발자는 이 모듈의 의존 없이 프로그램에 집중할 수 있다.
- Spring 모듈
- spring-beans : 스프링 컨테이너를 이용해서 객체를 생성하는 기본기능을 제공함
- spring-context : 객체생성, 라이프 사이클 처리, 스키마 확장 등의 기능을 제공함
- spring-aop : AOP 기능을 제공
이외에 모듈이 몇가지 더 있지만 수업을 더 듣고 정리 하도록 하자.
- Spring MVC
- Spring Framework에선 클라이언트의 화면을 표현하기 위한 View와 서비스를 수행하기 위한 개발 로직 부분을 나누는 MVC2 패턴을 지원한다.
또한 Model, View, Controller 사이의 의존 관계를 DI 컨테이너에서 관리하여 좀 더 쉽게 웹 개발이 가능해진다.
Spring MVC의 처리 과정으로는
쉽게 클라이언트의 요청이 있으면 DispatcherServlet이 요청을 전달 받고 HandlerMapping을 통해 요청에 맞는 컨트롤러 찾는다. 그후 Business 로직을 수행한 뒤 결과를 컨트롤러가 Dispatcher Servlet에게 전달한 뒤 결과에 맞는 View를 선택해 클라이언트에게 보여준다.
실습을 통해 Spring Framework에 대해 더 알아보자.
'Spring' 카테고리의 다른 글
Spring(조회 - vo파라미터) (0) | 2023.04.25 |
---|---|
Spring(4) - 기초세팅(pom.xml) (0) | 2023.04.25 |
Spring(3) - 기초 세팅(web.xml) (0) | 2023.04.24 |
Spring(2) - 프로젝트 만들기 (0) | 2023.04.24 |
Spring(1) - lombok 세팅하기 (0) | 2023.04.24 |