본문 바로가기

코드로 배우는 스프링 웹 프로젝트

(4)
MyBatis란? MyBatis는 SQL Mapper의 일종으로 JDBC를 이용해서 DB에 SQL을 실행하는 것에 대한 개별적인 관점에서 좀 더 편하고 관리하기 쉽게 하기 위해 만든 것입니다. JDBC(Java DataBase Connectivity) - 관계형 데이터베이스에 접근하여 SQL문을 실행하기 위한 자바 라이브러리(자바에서 제공하는 데이터베이스 프로그래밍 API) - JDBC는 DB연결에서 부터 쿼리 실행, 트랜잭션관리까지 다 지원하는 라이브러리 MYBatis 특징 MyBatis가 없을 때는 쿼리소스와 Java소스가 겹치게 되고, 관리가 어려워진다. MyBatis는 SQL 쿼리문을 자바코드에서 분리하여 XML형식의 파일로 따로 관리하고, Java소스에서 XML태그의 id만 호출하여 개발의 편리함을 제공한다. M..
스프링 동작과정 - (3) [Request 왔을 때 실행 동작] 스프링 MVC의 기본 구조는 아래 그림과 같이 표현할 수 있습니다. 1. 사용자의 모든 Request('/'로 들어오는)는 Front-Controller인 web.xml의 DispatcherServlet을 통해 처리한다. appServlet org.springframework.web.servlet.DispatcherServlet contextConfigLocation /WEB-INF/spring/appServlet/servlet-context.xml 1 appServlet / 2,3. servlet-context.xml() 에서 HandlerMapping을 이용해 Request의 처리를 담당하는 컨트롤러를 검색한다. →(HandlerMapping 인터페이스를 구현한 여러 객체들 중 RequestMappi..
스프링 동작 과정 - (1) 스프링 특징 스프링 MVC는 내부적으로 Servlet API를 활용한다. 스프링 MVC는 '모델 2'라는 방식으로 처리되는 구조이다. 모델 2방식은 쉽게 말해 '로직과 화면을 분리'하는 스타일의 개발 방식이다. 모델2 방식은 MVC의 구조를 사용하는데 이를 그림으로 표현하면 아래와 같다. 모델 2 방식에서 사용자의 Request는 특별한 상황이 아닌 이상 먼저 Controller 호출 - 이렇게 설계한 가장 큰 이유는 나중에 View를 교체하더라도 사용자가 호출하는 URL을 변경하지 않기 위해서 컨트롤러는 데이터를 처리하는 존재를 이용해서 데이터(Model)를 처리하고 Response 할 때 필요한 데이터(Model)를 View 쪽으로 전달 Servlet을 이용하는 개발자들은 Servlet API의 Re..
스프링이 동작하면 생기는 일 작성한 2개의 클래스와 'root-context.xml'이 어떻게 동작하는지 이해하기 위해서는 스프링과 함께 시간의 순서대로 고민해 보아야 한다. - 스프링 프레임 워크과 시작되면서 먼저 스프링이 사용하는 메모리 영역을 만들게 되는데 이를 컨텍스트(Context)라고 합니다. 스프링에서는 ApplicationContext라는 이름의 객체가 만들어 집니다. - 스프링은 자신이 객체를 생성하고 관리해야 하는 객체들에 대한 설정이 필요합니다. 이에 대한 설정이 root-context.xml 파일입니다. - root-context.xml에 설정되어 있는 태그의 내용을 통해서 'org.zerock.sample' 패키지를 스캔(scan)하기 시작합니다. - 해당 패키지에 있는 클래스들 중에서는 스프링이 사용하는 @..