ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • [TIL][모의기술면접#3]
    CodeStates_Backend/TIL (Today I Learned) 2022. 7. 20. 12:35

    1. 스프링 MVC 프레임워크의 요청처리 과정을 설명해 주세요.

    2. Spring JDBC, Spring Data JDBC, Spring Data JPA의 차이점을 설명해 주세요.

    3. Spring Boot 기반 애플리케이션을 빌드하는 방법에 대해서 설명해 주세요.

     


    1.

     

    스프링 MVC 프레임워크란, 스프링의 여러 모듈서블릿 API를 기반으로 웹 계층을 처리하는 모듈을 말한다. (서블릿은 클라이언트의 요청을 규약에 맞춰 처리하는 자바 코드 클래스파일. 톰캣 등이 서블릿 컨테이너 중 하나이다.) Model은 클라이언트의 요청을 처리한 작업의 결과 데이터를 의미한다. ViewModel 데이터를 이용해 웹브라우저 같은 클라이언트 애플리케이션의 화면에 보여지는 리소스를 제공하는 역할을 한다. Controller는 클라이언트의 요청을 직접 전달받는 엔드포인트로써, Model과 View 중간에서 상호작용 해주는 역할을 한다.

     

    스프링 MVC 프레임워크 처리과정은 다음과 같다. 클라이언트에서 요청전송 -> 디스패처서블릿에서 요청을 받아 핸들러매핑에서 컨트롤러를 정보를 받는다-> 핸들러어답터에 컨트롤러 호출을 위임한다.->핸들러어답터가 컨트롤러를 호출하고 작업 결과인 모델데이터를 리턴받아 뷰이름과 함께 디스패처서블릿에 리턴한다->디스패처서블릿은 뷰리졸버에서 뷰를 요청해 받아온다. -> 최종적으로 뷰객체를 통해 모델데이터를 뷰에 넘겨주면 뷰가 응답 데이터를 리턴하고 그것을 받아 클라이언트에 전달한다.

     

     

     

    2.

     

    JDBC자바 기반 애플리케이션의 코드 레벨에서 사용하는 데이터를 데이터베이스와 연동할 수 있게 해주는 자바의 표준 API이다. JDBC를 스프링 애플리케이션에서 편리하게 사용할 수 있도록 제공하는 것이 Spring JDBC 이다. Spring Data JDBC는 Spring JDBC가 쿼리를 직접 입력하거나 인터페이스를 직접 구현해야 하는 등의 불편함을 개선하기 위해 Spring Data 기반으로 재구성한 것이다. Spring Data JDBC는 JDBC에서 자주사용하는 객체나 코드들을 클래스화하여 더 편리하게 DB에 접근할 수 있는 인터페이스를 제공한다. 그러나 여전히 SQL 중심 기술이다. (Spring JDBC와 Spring Data JDBC는 약간의 차이가 있는데, 모델클래스/포조클래스 , 게터세터의무/게터세터의무아님, ) Spring Data JPA는 자바에서 사용하는 표준 ORM 기술인 JPA를 Spring에서 적용한 것이다. Spring Data JDBC와 Spring Data JPA 모두 Spring Data 패밀리 그룹에 포함되어 있으며 추상화된 데이터 엑세스 접근방식으로 구성이 되어 유사하다. 하지만 SDJDBC는 SDJPA에 비해 단순하다.

     

     

    3. 

     

    IDE를 이용해 빌드하는 방법 : Gradle 빌드 툴을 이용하여 Gradle task 명령을 통해 빌드할 수 있다.

    터미널과 같은 콘솔에서 빌드하는 방법 : 터미널에서 프로젝트의 root 디렉토리로 간 후 gradlew 를 입력한다. IDE와 결국 같은 Gradle task 명령을 하게된다. 디렉토리 안에 gradlew라는 파일이 있어야 한다고 한다.

    Maven의 경우 : 터미널에서 mvnw package

Designed by Tistory.