본문 바로가기

Framework/Spring

Spring Framework

  • 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