[SpringBoot]with JPA 개념정리

해내면 그만!XX·2022년 8월 4일
0

스프링이란?

  1. 프레임워크
  2. 오픈소스
  3. IoC 컨테이너를 가지고 있다
  4. DI를 지원한다
  5. 많은 필터 소유
  6. 많은 어노테이션 소유
  7. MessageConverter를 가지고 있다 기본값은 json
  8. BufferReader 와 BufferedWriter를 쉽게 사용할 수 있다.

@ReponseBody -> BufferedWriter
@RequestBody -> BufferReader

JPA란?

  1. Java Persistence(영속성) API (데이터를 디비에 저장될 환경을 마련해주는 API)
    • API: App Programming Interface
    • Interface: 상하관계가 존재하는 약속
  2. ORM Object Relational Mapping 기술(자바의 데이터를 디비에 생성하도록 해줌)
    • DB와 OOP의 불일치성을 해결하기 위한 방법론은 제공한다(DB는 객체저장 불가능)
  3. 반복적인 CRUD작업을 생략하게 해준다
  4. 영속성 컨텍스트(모든 정보)를 가지고 있다
    • DB의 데이터와 동기화 되어있다.
  5. OOP의 관점에서 모델링을 할 수 있게 해준다(상속, 콤포지션, 연관관계)
  6. 방언 처리가 용이하여 Migration하기 좋음, 유지보수에도 좋음

스프링부트 원리

  1. 내장 톰켓을 가진다(자바 코드를 컴파일하고 html로 변환해줌)
  2. 서블릿 컨테이너(톰켓)
    • 자바관련 요청을 하게 되면 서블릿 컨테이너로 가게된다.
    • .css, .html 요청 아파치로 가게된다.
    • 최초 요청시에만 객체를 한번생성, 두번째 요청부터는 스레드로 객체를 재사용하게 된다.
    • url: 자원접근 ex) http:naver.com/
    • uri: 식별접근 ex) http:naver.com/board/save
  3. web.xml(문지기의 역할)
    • ServletContext의 초기 파라미터
    • Session의 유효시간 설정
    • Servlet/JSP에 대한 정의
    • Mime Type 매핑 (내가 들고올 데이터가 뭔지 알려주는 것)
    • Welcome File List
    • Error Pages 처리
    • 리스너/필터 설정
    • 보안
  4. FrontController 패턴
  5. RequestDispatcher
  6. DispatchSerlvet
  7. 스프링 컨테이너
  8. 요청주소에 따른 적절한 컨트롤로 요청
  9. 응답

참고
https://www.youtube.com/c/%EB%A9%94%ED%83%80%EC%BD%94%EB%94%A9

1개의 댓글

comment-user-thumbnail
2022년 9월 5일

오... 대박...

답글 달기