KingBini
KingBini_Note
KingBini
전체 방문자
오늘
어제
  • 분류 전체보기 (68)
    • Prgraming Error (13)
      • jsp,servlet (11)
    • Programing (30)
      • JavaScript (5)
      • java (10)
      • jsp (2)
      • study (9)
      • spring (4)
    • CS (2)
      • 자료구조 (1)
      • 알고리즘 (1)
    • Book (0)
    • 강의 (11)
      • 스프링_핵심원리_기본 (4)
      • 스프링부트 JPA활용 1 (7)
    • algorithm문제 풀이 (3)
      • 백준 (3)
    • Network (1)
    • cloud (2)
      • AWS Cloud (2)
    • DB (3)
      • PostgreSQL (2)
    • OS (1)
      • LINUX (1)

블로그 메뉴

  • 홈
  • 태그
  • 방명록

공지사항

인기 글

태그

  • JSP
  • java
  • 자바
  • 스프링
  • 미니홈피 만들기
  • 자바스크립트
  • 스프링핵심원리
  • servlet
  • 인프런
  • JS
  • 집합 레벨 변화
  • JPA
  • Spring
  • 스프링 핵심원리
  • 모각코 스터디
  • CS
  • 집합 레벨
  • PostgreSQL
  • 김영한
  • 스프링 부트와 JPA 활용1

최근 댓글

최근 글

티스토리

hELLO · Designed By 정상우.
KingBini
Programing/spring

스프링 , JPA 탄생 배경

Programing/spring

스프링 , JPA 탄생 배경

2022. 4. 11. 14:43

스프링, JPA의 탄생

EJB : 자바빈즈(Enterprise JavaBeans)

EJB란 엔터프라이즈 자바빈즈(Enterprise JavaBeans; EJB)는 기업환경의 시스템을 구현하기 위한 서버측 컴포넌트 모델이다. 즉, EJB는 애플리케이션의 업무 로직을 가지고 있는 서버 애플리케이션이다. EJB 사양은 Java EE의 자바 API 중 하나로, 주로 웹 시스템에서 JSP는 화면 로직을 처리하고, EJB는 업무 로직을 처리하는 역할을 한다.

  • 스프링이 생기기전 개발자들은 엔터프라이즈 자바빈즈(Enterprise JavaBeans; EJB)라는 서버 앱으로 개발을 했는데 아래와같은 단점이 있었다.

  • EJB 단점

    • 객체지향적이지 않음
    • 복잡한 프로그래밍 모델
    • 특정 환경, 기술에 종속적인 코드
    • 컨테이너에 안에서만 동작할 수 있는 객체구조
    • 자동화된 테스트가 매우 어렵거나 불가능
    • 부족한 개발생산성, 이동성(portablity)
    • 또 EJB가 제공하는 ORM 엔티티는 기술력이 매우 낮았다고한다

    위같은 이유로 불만이 많은 개발자들이 불편해하고 불만이있었는데 그 중 두명의 개발자가 오픈소스를 만든다.

    두 명의 개발자

1. 로드 존슨

로드존슨

  • 로드 존슨(스프링 창시자)
    • 2002년로드존슨책출간•EJB의문제점지적
    • EJB없이도충분히고품질의확장가능한애플리케이션을개발할수있음을보여주고, 30,000라인이상의기반기술을예제코드로선보임
    • 여기에지금의스프링핵심개념과기반코드가들어가있음•BeanFactory, ApplicationContext, POJO, 제어의역전, 의존관계주입
    • 책이유명해지고, 개발자들이책의예제코드를프로젝트에사용

2. 게빈 킹(하이버 네이트 창시자)

하이버네이트

하이버네이트

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



정리

  1. EJB에 불만을 갖던 개발자 두 명이 오픈소스 개발
  2. 그 중 한명의 개발자 "로드 존슨" ->스프링 탄생
  3. 그 중 한명의 개발자 "케빈 킹" EJB ORM 엔티티에 불만 갖음 -> 하이버네이트 개발 ->JPA 탄생

'Programing > spring' 카테고리의 다른 글

카카오 OAuth2.0 동작원리  (0) 2022.04.03
Spring 스프링 기초 정리  (0) 2022.02.15
gradle 버전 바꾸는 법  (0) 2022.02.02
  • EJB : 자바빈즈(Enterprise JavaBeans)
  • 1. 로드 존슨
  • 2. 게빈 킹(하이버 네이트 창시자)
  • 정리
'Programing/spring' 카테고리의 다른 글
  • 카카오 OAuth2.0 동작원리
  • Spring 스프링 기초 정리
  • gradle 버전 바꾸는 법
KingBini
KingBini
github : https://github.com/kkssbbb

티스토리툴바

단축키

내 블로그

내 블로그 - 관리자 홈 전환
Q
Q
새 글 쓰기
W
W

블로그 게시글

글 수정 (권한 있는 경우)
E
E
댓글 영역으로 이동
C
C

모든 영역

이 페이지의 URL 복사
S
S
맨 위로 이동
T
T
티스토리 홈 이동
H
H
단축키 안내
Shift + /
⇧ + /

* 단축키는 한글/영문 대소문자로 이용 가능하며, 티스토리 기본 도메인에서만 동작합니다.