[21.06.23] Spring 시작하기!~
Spring에 구성 경로
- 초록색 : FrontController
- 빨간색 : 페인 페이지
▶ ViewResolve가 이미 SpringMVC\src\main\webapp\WEB-INF\spring\appServlet\servlet-context.xml 파일에 구현되어 있다
( xml내부에서 객체를 생성하는 방법)
▶ homeController 내부
- 요청에 따라 메서드를 처리 할 수 있게 만들어 주어야 한다.
▶ controller에서 클라이언트에 요청에 따라서 여러 메서드를 mapping하는법
▶ 자바, API 추가, 수정 방법
maven이란 - 이클립스에서 Spring은 이미 maven으로 관리되고 있다.
프로젝트 관리 도구이며 여러 기능중 하나인 API를 관리하는 기능은
(project object model)pom.xml 파일로 API를 관리한다.
- pom.xml 에서 Spring 버전을 바꾸고 싶다면 여기를 변경하면 자동으로 수정됨
- 여기는 java 버전을 바꾸는 부분인데 강제로 적용 해줘야 하기 때문에 추가적인 작업이 필요함
- Maven > 프로젝트 업데이트
- 여기서 프로젝트를 강제로 업데이트 해준다
- 다른 API를 추가하고 싶다면 MVNrepository에서 검색해서 maven 부분을 복사해 pom.xml에 추가해주면 된다.
(Mybatis를 사용하기 위해 mysql를 설치하고 있는 상황이다.)
- pom.xml에 추가한 부분
이렇게 하면 자동으로 API가 다운로드가 되고 root-context.xml에서 연결해줘야 한다.
====================== spring-jdbc, mybatis, db연결법 =============================
- Mybatis, mybatis-spring, mysql, Spring-jdbc 총 4가지 API가 필요하다.
필요한 API는 MVN에서 찾은 다음maven을 복사해서 pom.xml파일에 적용한다.
▶ 일반적으로 mysql를 사용할때 사용하는 Class파일
- org.springframework.beans.factory.config.PropertyPlaceholderConfigurer
▶ 일반적으로 spring-jdbc를 사용할때 사용하는 Class파일
- org.springframework.jdbc.datasource.SimpleDriverDataSource
▶ 일반적으로 mybatis-spring를 사용할때 사용하는 Class파일
org.mybatis.spring.SqlSessionFactoryBean
MyBatis를 spring에서 사용하게 되면 config파일에 있는 설정을 root-context.xml에서 담당하기 때문에 매우 간단해진다.
(왼) : Spring 사용전 config파일
(오른) : Spring 사용후 간단해진 config파일
root-context.xml 파일에서 prooerties 연결과 spring-jdbc를 연결해줘야 한다.
mapper 연결
인터페이스 파일인 mapper파일과 mapper.xml파일과 연결이 되기 위해서는 namespace에 있는 경로와 인터페이스 경로가 같아야 한다.
스프링은 서버를 시작하면 web.xml을 처음으로 읽는다
- Spring 컨테이너 생성
-> 개발자를 대신해서 bean을 생성 관리 제거 하는 기능을 한다.
객체가 생성되면 Spring컨테이너에서 돌아다니는데 이걸 관리해준다.
여기서 contextloaderListener를 담고 root-context.xml파일을 읽는다.
root-context.xml 는 DB관련 설정 코드이다.
-> 내부에 있는 총 3개 API관련 코드가 컨테이너에 생성된다.
- SqlSessionFactoryBean
- SimpleDriverDataSource
- PropertyPlaceholderConfigurer
DispatcherServlet은 프론트 컨트롤러 코드이다.
-> servlet-context.xml에 들어가 ViewResolver가 생성된다.