Section3 기술 면접

정민교·2022년 11월 16일
0

ORM

ORM

객체 관점으로 데이터 액세스 하는 기술
Java 객체를 RDB 테이블의 엔티티로 변환하여 저장, 수정, 삭제 등의 작업을 하는 SQL 쿼리문을 자동으로 변환 한 후에 데이터베이스의 테이블에 접근하는 데이터 액세스 기술이다.

JPA

Java 기반 애플리케이션에서 사용하는 ORM 기술의 표준 스펙이다. 자바 애플리케이션에서 관계형 DB를 사용하는 방식을 정의한 인터페이스

인터페이스이기 때문에 이를 구현한 구현체가 존재하고 이가 Hibernate 이다.
따라서 JPA를 사용하기 위해 무조건 Hibernate를 써야하는 것은 아니지만 굉장히 성숙하고 안정적인 라이브러리이기 때문에 사용한다.

Spring JDBC, Spring Data JDBC, Spring Data JPA

Spring Data JPA

JPA를 쓰기 편하게 만들어 놓은 모듈이다. Spring에서 제공하는 모듈 중 하나로 개발자가 JPA를 더 쉽고 편하게 사용할 수 있도록 도와준다.

이는 JPA를 한 단계 추상화시킨 JpaRepository라는 인터페이스를 제공함으로써 이루어진다. 사용자가 Repository 인터페이스에 정해진 규칙대로 메소드를 입력하면, Spring이 알아서 해당 메소드 이름에 적합한 쿼리를 날리는 구현체를 만들어서 Bean으로 등록해준다.

Spring Data JDBC

ORM 기술을 사용하지만 JPA의 기술족 복잡도를 낮춘 기술

Spring JDBC

데이터베이스 액세스를 위해 정적인 SQL 문장을 직접적으로 코드에 포함하는 SQL 중심 기술이다.

Spring MVC 동작 방식

DispatcherServlet에서 들어온 HandlerMapping을 통해 요청을 처리해 줄 수 있는 핸들러를 찾습니다.
Handler 메소드를 찾았다면 이를 실행해 줄 수 있응 HandlerAdapter를 찾습니다.
HandlerAdpater를 통해서 Handler 메소드를 실행합니다.
Handler 메소드를 실행해서 나온 결과 데이터를 담은 Model 과 View를 받습니다.
ViewResolver를 통해 view를 찾고 Model data를 가지고 HTML 완성시켜 응답으로 보내줍니다.

profile
백엔드 개발자

0개의 댓글