본문 바로가기

JAVA/Spring

스프링의 역사

728x90

공부를 시작한지 6개월이 조금 넘었지만 벌써 취업을 하게 됐다. 스스로 부족한 점이 많다고 느껴져서 잘 할 수 있을지 걱정도 되고 설레이기도 하다.

 

스프링의 탄생

초기의 기업들은 자바의 표준 기술로 Enterprise Java Bean을 사용했다.

EJB는 트랜잭션, 분산기술, Entity Bean (ORM)등 기술을 지원하여 많은 기업들이 사용하였다.
하지만 비싸고, 어렵고, 복잡하고, 느린 단점이 있었다.
EJB의 단점이 너무 심한 나머지 초기의 순수자바(POJO)를 사용하자는 이야기 까지 나왔다.

실무 개발자들이 EJB를 대신 할 오픈소스를 만들다.(Rod Johnson, Gavin King)

Rod Johnson은 당시의 EJB를 비판하며 나중에 스프링을 만들어 냈고
Gavin King는 EJB의 Entity Bean의 낮은 기술 수준을 대체할 Hibernate를 만들었다.
ORM기술에서 EJB가 묻히고 Hibernate의 인기가 많아지자 Hibernate를 토대로 JPA라는 자바표준 기술을 만들었다.

스프링 역사

2002년 로드 존슨은 EJB의 문제점을 지적한 책을 출간했다.
그 책에는 EJB없이도 고품질의 애플리케이션 개발할 수 있다는 내용과 예제 코드를 선보였고, 그 코드에 스프링의 핵심이 되는 개념이 들어있었다. (BeanFactory, ApplicationContext, POJO, DI, IoC)
이 책이 유명해지자 개발자들이 책의 예제코드를 프로젝트에 사용하기 시작했고, Juergen Hoeller(유겐 휠러)와 Yann Caroff(얀 카로프)가 로드 존슨에게 오픈 소스 프로젝트를 제안했다.
여기서 J2EE(EJB)를 겨울로 빗대어 Spring이란 이름의 프레임워크가 탄생했다.
릴리즈

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

 

(인프런, 스프링 핵심 원리 - 기본편)
https://www.inflearn.com/course/%EC%8A%A4%ED%94%84%EB%A7%81-%ED%95%B5%EC%8B%AC-%EC%9B%90%EB%A6%AC-%EA%B8%B0%EB%B3%B8%ED%8E%B8/dashboard