인프런 강의/스프링 핵심 원리 - 기본편

자바 진영의 추운 겨울과 스프링의 탄생

숲별 2022. 12. 22. 02:49
728x90

JPA란 ORM 기술(자바 객체를 DB에 편하게 저장하고 꺼내는 기술, 쿼리 안쓰고)

 

EJB는 비싸고 어렵고 복잡하고 느림. 이론은 분산도 되고 선언도 되고 하지만

인터페이스 구현해야하고 의존적이어서 별로였음.

순수하게 옛

POJO(Plain Old Java Object)?

오래된 방식의 간단한 자바 오브젝트를 쓰자.

더보기

Plain Old Java Object, 간단히 POJO는 말 그대로 해석을 하면 오래된 방식의 간단한 자바 오브젝트라는 말로서 Java EE 등의 중량 프레임워크들을 사용하게 되면서 해당 프레임워크에 종속된 "무거운" 객체를 만들게 된 것에 반발해서 사용되게 된 용어

 

EJB지옥에 불타는 개발자들이 오픈소스를 만듦

 

스프링 (EJB컨테이너 대체, 단순함의 승리, 현재 사실상 표준 기술)

Hibernate(EJB 엔티티빈 기술을 대체, JPA(Java Persistence API) 새로운 표준 정의)

ORM 쓰면 다들 하이버네이트 씀.

JPA를 만듦.

JPA(표준 인터페이스)<-하이버네이트, EclipseLink, 기타...(JPA 구현체들)

 

Java 진영의 ORM시장은 다 JPA가 먹고 있다고 보면 됨.

오픈소스의 단점. 특화된 것들이 있음.

실제 개발자들이 사용하던걸 표준으로 만들면서 깔끔해짐.

 

스프링 역사

- 전설의 시작

  • 2002년 로드 존슨 책 출간
  • EJB의 문제점 지적 
  • EJB 없이도 충분히 고품질의 확장 가능한 애플리케이션을 개발할 수 있음을 보여주고, 30,000라인 이상의 기반 기술을 예제 코드로 선보임
  • 여기에 지금의 스프링 핵심 개념과 기반 코드가 들어가 있음.
  • BeanFactory, ApplicationContext, POJO, 제어의 역전, 의존관계 주입
  • 책이 유명해지고, 개발자들이 책의 예제 코드를 프로젝트에 사용
  • 책 출간 직후 Juergen Hoeller(유겐 휠러), Yann Caroff(얀 카로프)가 로드 존슨에게 오픈소스 프로젝트를 제안
  • 스프링의 핵심 코드의 상당수는 유겐 휠러가 지금도 개발
  • 스프링 이름은 전통적인 J2EE(EJB)라는 겨울을 넘어 새로운 시작이라는 뜻으로 지음

-릴리즈

• 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

 

'인프런 강의 > 스프링 핵심 원리 - 기본편' 카테고리의 다른 글

스프링이란?  (0) 2022.12.23