1. EJB의 사용
2000년대 초반에는 자바 진영의 표준 기술 중에 EJB(Enterprise Java Beans)라는 것이 있었다. 지금으로 따지면 spring과 jpa를 합쳐놓은 세트였고, 자바 표준 기술이었기 때문에 금융권 등에서 많이 사용했다. EJB는 트랜잭션 관리, 컨테이너 지원 등 여러 장점이 있었지만 너무 복잡하고 느리기까지 했다. 또 EJB에 의존적으로 구현하다보니 코드도 복잡해지고 어떻게 동작하는지도 이해하기 힘들었다.
2. 스프링 및 하이버네이트의 등장
EJB를 사용하던 개발자 중 한 명인 로드 존슨(Rod Johnson)은 EJB를 비판하며 어떤 식으로 단순하게 코드를 작성할 수 있는지 책을 내게 된다. 이것이 미래의 스프링이 된다. 그리고 EJB 엔티티빈이라는 ORM 기술을 대체하기위해 개빈 킹(Gavin King)이라는 사람이 오픈소스를 만드는데 이것이 바로 Hibernate다. 이 Hibernate가 나오고 자파 표준 ORM 기술이었다 EJB 엔티티빈보다 Hibernate를 많이 사용하는 지경에 이르고 결국 자바에서는 Hibernate를 만든 Gavin King을 대리고 와서 Hibernate를 거의 복사한 JPA라는 자바표준 기술을 만든다. JPA와 같은 표준 기술은 인터페이스만 있고 구현체는 따로 만들어야 한다. 이때 구현체로 하이버네이트, EclipseLink 등을 사용하고 보통 하이버네이트를 사용한다. 최신 Java 시장의 ORM 시장은 JPA가 먹고 있으며 구현체는 대체로 hibernate를 사용하는 추세다.
3. 스프링의 역사
2002년 로드 존슨이 책을 출간하며 EJB의 문제점을 지적한다. EJB 없이도 충분히 애플리케이션을 개발할 수 있음을 보여줬다. 이때 예제 코드들을 작성했는데 이 코드들에 스프링의 핵심 개념과 기반 코드가 들어있었다. BeanFActory, ApplicationContext, POJO, 제어의 역전, 의존관계 주입 등에 대한 개념이 들어있었다. 이후 유겐 휠러(Juergen Hoeller)와 얀 카로프(Yann Caroff)가 로드 존슨에게 오픈 소스 프로젝트를 제안한다. 이때 스프링이라는 이름은 EJB라는 겨울을 넘어서 새로운 시작이라는 뜻으로 짓게 된다.
4. 릴리즈
- 스프링 프레임워크 1.0 출시 (2003)
- 스프링 프레임워크 2.0 출시 (2006)
- 스프링 프레임워크 3.0 출시 (2009)
- 스프링 프레임워크 4.0 출시 (2013)
- 스프링 부트 1.0 출시 (2014)
- 스프링 프레임워크 5.0 출시, 스프링 부트 2.0 출시 (2017)
- 스프링 프레임워크 5.2.x 출시, 스프링 부트 2.3.x 출시 (2017)
'BackEnd > Spring' 카테고리의 다른 글
[Spring] 좋은 객체 지향 프로그래밍 (0) | 2023.08.09 |
---|---|
[Spring] 스프링이란? (0) | 2023.08.08 |
[Spring] ERROR: org.springframework.web.servlet.DispatcherServlet - Context initialization failed (0) | 2023.05.14 |
[Setter Injection] p Namespace (0) | 2023.04.28 |
[Spring] Setter Injection 기본 사용법 (0) | 2023.04.28 |