Spring이란

소규모 어플리케이션 또는 기업용 어플리케이션을 자바로 개발하는데 있어 유용하고 편리한 기능을 제공하는 프레임워크

DI, AOP, MVC, JDBC (프로그래밍에 있어 어떤 구조를 만들어가는 방법론) 등을 지원

오픈소스 경량급 애플리케이션 프레임워크

주요 특징

  • 크기와 부하의 측면에서 경량
    경량 컨테이너로서 자바 객체를 직접 관리. 객체 생성, 소멸 같은 생명주기 관리. 스프링으로부터 필요한 객체 얻어옴.
  • IOC(Inversion of Control)
    제어권의 역전. 제어권이 스프링 프레임워크에 있음. 개발자가 제어권을 가지지 않음.
  • DI(Dependency Injection)
    의존성 주입. 계층이나 서비스 간에 의존성이 존재할 경우 스프링 프레임워크가 서로 연결
  • AOP(Aspect-Oriented Programming)
    관점지향 프로그래밍. 공통적으로 사용하는 기능의 경우 해당 기능을 분리하여 사용.
  • POJO(Plain Old Java Object)
    다른 클래스를 상속받아 만들 필요 없는 자바 클래스
  • 영속성과 관련된 다양한 서비스 지원
    iBatis, Hibernate등 데이터베이스 처리 라이브러리와 연결할 수 있는 인터페이스 제공
  • 확장성이 높음

Spring framework 구조


(출처: https://khj93.tistory.com/entry/Spring-Spring-Framework%EB%9E%80-%EA%B8%B0%EB%B3%B8-%EA%B0%9C%EB%85%90-%ED%95%B5%EC%8B%AC-%EC%A0%95%EB%A6%AC)

Spring 흐름

MVC - Model View Controller: 사용자 인터페이스와 비지니스 로직을 분리하여 개발


(출처: https://steady-snail.tistory.com/66)

사용자로부터 request -> DispatcherServlet -> HandlerMapping을 통해 Controller연결 -> Service호출 -> DAO를 통해 DB에서 데이터 가져옴 -> ModleAndView 객체에 담아 DispatcherServlet으로 전달 -> ViewResolver을 통해 View와 연결하여 출력

0개의 댓글