뒤로가기

2000년대 초반 java기술에는 EJB(Enterprise Java Beans)라는 게 있었다. 과거에는 EJB를 기술영업에 많이 썼다. 듣보잡 오픈소스 같은 것은 금융권 등에서는 취급하려고 하지 않았으니까. 하지만 비쌌음. 개발자에게는 너무 어렵고 복잡하고 느렸다. 그러다가 POJO방식으로 돌아가자(오래된 java object로 돌아가자)는 이야기도 나왔음.

그러다가 실무 개발자들이 EJB에 반발하여 만들어진 게 Spring, Hibernate라는 오픈소스다.

그 중 Hibernate로 인해 자바표준이 EJB엔티티빈에서 JPA로 바뀌었다.

JPA라는 표준 인터페이스의 구현체로는 하이버네이트, EclipseLink 등등이 있음.

(오픈소스의 단점으로는 특정 부분에만 특화되는 성향이 있음)

<aside> 💡 지금 시대에 java진영에서 가장 중요한 기술은 Spring과 Jpa다

</aside>

2002년 로드 존슨에 의해 시작.

EJB의 문제점을 지적하며 EJB가 없어도 고품질의 확장 가능한 애플리케이션을 개발할 수 있음을 보여주고, 30,000라인 이상의 기반 기술을 예제 코드(순수한 java코드)로 선보임. 여기에 지금 Spring의 핵심 개념과 기반 코드가 다 들어가 있음. BeanFactory, ApplicationContext, POJO, 제어의 역전, 의존관계 주입이 다 여기서 나옴.

로드 존슨의 책을 보고 유겐 휠러, 얀 카로프가 로드 존슨에게 오픈소스 프로젝트를 제안함. 핵심코드의 상당수는 유겐 휠러가 지금도 개발.

릴리즈 역사

2003년 1.0 출시 - XML

2006년 2.0 출시 - XML 편의 기능 지원

2009년 3.0 출시 - 자바 코드로 설정

2013년 4.0 출시 - 자바8

2014년 부트 1.0 출시

(스프링의 제일 큰 문제가 설정이 너무 어려워서)

2017년 프레임워크 5.0, 부트 2.0 출시 - 리엑티브 프로그래밍 지원(비동기 넌블로킹 기술, node.js 처럼)

2020년 9월 프레임워크 5.2.x, 부트 2.3.x