스프링의 탄생
Spring이 탄생하기 전에는 Java의 공식적인 프레임워크로 EJB(Enterprise Java Bean)이 사용되고 있었다. 하지만, EJB를 사용하여 개발하게 되면, 컨테이너 실행 속도가 느리고, EJB에 대한 의존성이 많아 코드가 많이 지저분하고 객체지향의 장점을 점점 잃어버렸다고 한다. 심지어 여기에 사용하기도 어렵고 비용도 비싸서, EJB를 사용할 바에는 순수 Java 코드로 만들자는 사람들이 생겨났다. 이 때, 더욱 편하게 개발을 하기 위해 나온 것이 Rod Johnson의 'J2EE Design and Development'와 Gavin King의 'Hibernate'이다.
Rod Johnson의 'J2EE Design and Development'은 EJB 컨테이너를 대체할 수 있는 더 간단한 코드를 보여줬고, 추후에 스프링이 된다. Gavin King의 'Hibernate'는 EJB 엔티티빈 기술을 대체하였고, Java에서 나중에 하이버네이트를 자바 표준으로 만들면서 JPA라는 이름이 되었다.
스프링의 역사
스프링의 시작
- 2002년 Rod Johnson이 책 출간
- EJB 문제점 지적
- EJB 없이도 충분히 고품질의 확장 가능한 애플리케이션을 개발할 수 있음을 보여주고, 3만 라인 이상의 기반 기술을 예제 코드로 선보임
- BeanFactory, ApplicationContext, POJO, 제어의 역전, 의존관계 주입
- 책 출간 직후 Juergen Hoeller(유겐 휠러), Yann Caroff(얀 카로프)가 로드 존슨에게 오픈소스 프로젝트를 제안
- 스프링 이름은 전통적인 J2EE(EJB)라는 겨울을 넘어 새로운 시작이라는 뜻으로 지음
릴리즈
- 2003년 스프링 프레임워크 1.0 출시 - XML
- 2003년 스프링 프레임워크 2.0 출시 - XML 편의 기능 지원
- 2009년 스프링 프레임워크 3.0 출시 - 자바 코드로 설정
- 2013년 스프림 프레임워크 4.0 출시 - 자바8
- 2014년 스프링 부트 1.0 출시
- 2017년 스프링 프레임워크 5.0, 스프링 부트 2.0 출시 - 리엑티브 프로그래밍 지원
출처
김영한님 인프런 강의: 스프링 핵심 원리 - 기본편