스프링(Spring framework)의 탄생 | 스프링과 스프링 부트 차이

JINHO LEE·2023년 1월 23일
0

EJB 컨테이너의 대체와 단순함의 승리
EJB 엔티티빈 -> 하이버네이트 -> JPA (하이버네이트 기반)

"Spring 프레임워크와 함께 제공되는 많은 툴을 사용하여 즉시 사용 가능한 솔루션을 많이 보유하고 있으며, 엄청난 양의 추가 코드 작성에 대해 걱정할 필요가 없어 시간과 에너지를 절약할 수 있습니다."

스프링 역사

2002년 로드 존슨 책이 출간하면서 스프링이 등장
EJB의 문제점 지적하며 스프링 핵심 개념과 기반 코드가 들어가 있음

유겐 휠러와 얀카로프

스프링 이름은 전통적인 J2EE(EJB) 라는 겨울을 넘어 새로운 시작이라는 뜻으로 지음

스프링과 스프링 부트

2003년 스프링 프레임워크 1.0 출시 - XML
2006년 스프링 프레임워크 2.0 출시 - XML 편의 기능 지원
2009년 스프링 프레임워크 3.0 출시 - 자바 코드로 설정
2013년 스프링 프레임워크 4.0 출시 - 자바8
2014년 스프링 부트 1.0 출시
2017년 스프링 프레임워크 5.0, 스프링 부트 2.0 출시 - 리엑티브 프로그래밍 지원
...

XML 설정, 웹서버 설정 등이 상당히 복잡했던 것들이 스프링 부트가 나오면서 간단해짐

  1. 스프링 프레임 워크
    자바 기반 application 개발을 위한 오픈 소스 프레임 워크이며 스프링 프레임워크를 통해 다양한 기능들을 제공하고 있다.또한 한국 전자정부표준프레임워크의 기반 기술이며 한국정보화진흥원에서는 공공기관의 웹 서비스 제공 시 스프링을 권장하고 있다.
  • 핵심 기술: 스프링 DI 컨테이너, AOP, 이벤트, 기샅
  • 웹 기술: 스프링 MVC, 스프링 WebFlux
  • 데이터 접근 기술: 트랜잭션, JDBC, ORM 지원, XML 지원
  • 기술 통합: 캐시, 이메일, 원격 접근, 스케줄링
  • 테스트: 스프링 기반 테스트 지원
  • 언어: 코틀린, 그루비
  • 최근에는 스프링 부트를 통해서 스프링 프레임워크의 기술들을 편리하게 사용
  1. 스프링 부트
    스프링 프레임워크 위에서 스프링 기술들을 보다 간편하고 편리하게 사용하도록 도와주는 기술이다.
  • 스프링을 편리하게 사용할 수 있도록 지원, 최근에는 기본으로 사용
  • 단독으로 실행할 수 있는 스프링 애플리케이션을 쉽게 생성
  • Embedded Tomcat 같은 웹 서버를 내장해서 별도의 웹 서버를 설치하지 않아도 됨
  • 손쉬운 빌드 구성을 위한 starter 종속성 제공
    - spring-boot-starter-*
  • 스프링 3rd party 라이브러리 자동 구성
  • 메트릭, 상태 확인, 외부 구성과 같은 프로적션 준비 기능 제공
  • 관례에 의한 간결한 설정

스프링 핵심 컨셉

  • 스프링은 자바 언어 기반의 프레임워크
  • 객체 지향 언어 사용
  • 스프링은 좋은 객체 지향 애플리케이션을 개발할 수 있게 도와주는 프레임워크이다.

0개의 댓글