일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | ||||
4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 | 12 | 13 | 14 | 15 | 16 | 17 |
18 | 19 | 20 | 21 | 22 | 23 | 24 |
25 | 26 | 27 | 28 | 29 | 30 | 31 |
- thymeleaf
- 스프링 부트 입문
- 스프링
- assertThat
- Effective Java
- 스프링 컨테이너
- springboot
- mybatis
- 생성자 주입
- 스프링 부트
- sqld
- @Configuration
- 스프링 빈
- resultMap
- DIP
- 필드 주입
- Javascript
- DI
- 싱글톤
- 스프링 부트 기본
- assertThrows
- kafka
- spring
- SQL
- java
- db
- 스프링 프레임워크
- jdbc
- JPA
- 스프링부트
- Today
- Total
선 조치 후 분석
[Spring] Spring Framework 역사 (JPA, POJO, EJB 내용) 본문
[Spring] Spring Framework 역사 (JPA, POJO, EJB 내용)
JB1104 2022. 1. 4. 23:06스프링 역사를 알려면 먼저 'EJB'를 알고 가야 한다. 'EJB(Enterprise Java Beans)'는 옛날 자바 진영의 표준 기술이었다고 한다. 당시에 '종합 선물 세트- (컨테이너, 트랜잭션 관리, 분산 기술, ORM이 포함)'였다고 할 정도였다.
하지만, 이론상으로는 너무 좋은데, 가격도 비싸고, 복잡하고 사용하기가 어렵다고 한다.
거기다가 느리기까지 했다고 한다.
컨테이너 한번 띄우는데 시간이 정말 치명적일 정도로 'EJB 지옥'이라고 했었다.
그래서 여기서 개발자들은 "오래된 방식의 순수한 자바로 돌아가자"라는 의미로 'POJO(Plain Old Java Object)'라는 단어를 사용했다고 한다.
이렇게 EJB 지옥에서 구해줄 2명의 개발자가 있었다고 한다.
1. 로드 존슨
2002년에 EJB의 단점을 지적하며 EJB 없어도 충분히 고품질의 확장 가능한 애플리케이션을 개발할 수 있음을 보여주는 코드가 동봉된 책을 출간한다. 바로 현재 사실상 표준 기술인 '스프링'이다.
※ 스프링 이름은 전통적인 J2EE(EJB)라는 겨울을 넘어 새로운 시작이라는 뜻으로 지었다고 한다.
2. 개빈 킹
EJB의 엔티티 빈을 사용해보고 만족하지 못한 개빈 킹이 '하이버네이트(Hibernate)'라는 기술을 만드는데, 개발자들은 대다수가 EJB의 엔티티 빈을 사용하는 게 아니라 모두 '하이버네이트'를 사용하기 시작하자, 자바 표준 논의 기관에서
개빈 킹을 스카우트해서 하이버네이트를 가져와서 현재 사용하는 JPA(Java Persistence API)를 만든다.
※ 실용성(Hibernate) + 안정감(표준)이 합쳐지면서 지금의 JPA가 탄생했다.
현재 자바 ORM 시장은 'JPA'가 차지하고 있고, 거기서도 구현체인 'Hibernate'가 90% 이상을 차지한다고 한다.
스프링 역사 (릴리즈)
- 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.2.x, 스프링 부트 2.3.x