HomeAboutMeBlogGuest
© 2025 Sejin Cha. All rights reserved.
Built with Next.js, deployed on Vercel
📝
남득윤 학습 저장소
/
Spring Framework
Spring Framework
/
Overview
Overview
/
자바 백엔드 웹 기술 역사 & 스프링 이란?
자바 백엔드 웹 기술 역사 & 스프링 이란?
자바 백엔드 웹 기술 역사 & 스프링 이란?

자바 백엔드 웹 기술 역사 & 스프링 이란?

 

자바 웹 기술 역사

과거

  • 서블릿 - 1997
    • 자바 코드로 짜야됨
    • HTML 생성이 어렵다.
    •  
  • JSP - 1999
    • JSP가 서블릿으로 바뀜
    • HTML 생성이 편리하지만, 비즈니스 로직까지 너무 많은 역할을 담당함
      • MVC model 1
      •  
  • MVC 프레임워크 춘추 전국 시대 - 2000초 ~ 2010초
    • 스트럿츠, 웹워크, 스프링 MVC
 

현재

  • 애노테이션 기반의 스프링 MVC 등장
    • @Controller
    • 춘추 전국 시대 통일
  • 스프링 부트의 등장
    • 스프링 부트는 서버를 내장
    • 과거에는 서버에 WAS를 직접 설치, 소스는 War 파일을 통해 배포
    • 스프링 부트는 Jar에 WAS 서버 포함 → 빌드 배포 단순화
    •  

최신 기술 - 스프링 웹 기술의 분화

  • Web Servlet - Spring MVC
  • Web Reactive - Spring WebFlux

자바 뷰 템플릿 역사

  • JSP
    • 느리고 기능이 부족함
  • Freemarker, Velocity
    • 속도개선, 다양한 기능
  • Thymeleaf
    • 어려움
    • 내추럴 템플릿
    • 스프링 MVC와 기능 통합
  • Mustache
    • 쉬움

스프링의 프로젝트

notion image

Spring Framework

  • 모던 자바 기반의 엔터프라이즈 애플리케이션 개발에 필요한 포괄적인 기술을 제공
  • 개발자가 application-level의 비즈니스 로직에 집중할 수 있도록 함

특징

  • 핵심 기술
    • DI, events, resources, i18n(국제화), validation, data binding, type conversion, SpEL, AOP
  • 테스트
    • mock objects, TestContext frameworks, Spring MVC Test
  • 데이터 접근 기술
    • transactions, DAO support, JDBC, ORM
  • 웹 기술
    • Spring MVC & Spring WebFlux
  • 언어
    • 코틀린, 그루비
notion image

Srping Boot

  • Spring Boot는 Spring-based Application을 “just run” 하면 실행 되도록 도와줍니다.

Features

  • Create stand-alone Spring applications
  • 내장 Tomcat, Jetty or Undertow → War 로 배포 안해도 됨
  • 손쉬운 빌드 구성을 위한 starter dependency 제공
  • Spring과 3rd party liberies의 간단한 설정

스프링을 만든 이유, 핵심 컨셉

❌
  • 웹 앱, DB 접근 편하게?
  • 웹 서버 자동 띄워주기?
  • 클라우드, 마이크로서비스?
🟢
  • 좋은 객체 지향 애플리케이션을 개발할 수 있게 도와준다.
  • EJB → EJB 종속적인 코드가 됨/ POJO 등장
  • 스프링의 IOC 컨테이너에 그 핵심이 있다. → OPC, DIP를 가능하게 지원