xml파일들의 종류와 역할들에 대해 알아보자
우리가 설정해야 할 xml 파일들에는
pom.xml , web.xml, servlet-context.xml, root-context.xml, mybatis-config.xml, xxx-mapper.xml 이 있다.
pom.xml은 간단히 말하면 Maven의 빌드 정보를 담고 있는 파일로, POM(Project Object Model)을 설정하는 부분으로 프로젝트 내 빌드 옵션을 설정하는 부분
WAS(Web Application Server)가 최초로 구동될 때, web.xml파일을 읽어서 메모리에 올리고 웹에서 사용하는 다양한 설정들을 하는 곳 즉, Web Application 설정을 위한 Deployment descriptor(DD, 배포 설명자) 라고 한다. Client에게 요청 받아올 때 web.xml에 정의되어 있는 URL이 Client 요청 URL과 매핑이 되는 경우 DispatcherServlet 이 이요청을 가로채가서 서비스를 제공하도록 합니다.
웹 어플리케이션에서 클라이언트의 요청을 받기 위한 컨텍스트 설정이며, 요청과 관련된 객체를 정의. url과 관련된 Controller나, 어노테이션, ViewResolver(컨트롤러에서 view정보에 대해 설정하는 것), Interceptor, MultipartResolver 등의 설정을 해분다.
servlet-context와는 반대로 view와 관련되지 않은 객체를 정의. Service, Repository(DAO), DB 등 비즈니스 로직과 관련된 설정을 해준다.
servlet-context : 여기에 등록되는 Bean 들은 servlet-container에만 사용되어짐
root-context : 여기에 등록되는 Bean들은 모든 context에 사용되어짐(공유 가능)
SQL 쿼리를 선언한 Mapper 에서 데이터를 자동 매핑할 수 있도록 VO(DTO) 객체 설정
여러 vo 설정 가능
DataSource 에 관한 설정 (DI 방법에 따라 선택. 즉 생략 가능)
<environment~~> 는 여러개의 DB접속 내용을 추가로 설정할 수 있다
Mapper 파일의 위치 설정
여러개의 Mapper 파일을 설정 할 수 있는데, 단, 각 Mapper 파일 내부의 namespace는 전체 프로젝트에서 유일한 값.
SQL 쿼리 작성