Reference - Spring project 제작 과정 ( CRUD 기능구현 예제)
여기에서 root-context와 servlet-context파일을 지정해줌
참고
root-context의 역활 :
servlet-context.xml 과는 반대로 view와 관련되지 않은 객체를 정의합니다.
따라서 Service, Repository(DAO), DB등 비즈니스 로직과 관련된 설정을 해줍니다.
servlet-context의 역활 :
servlet에서 보듯이 요청과 관련된 객체를 정의합니다.
url과 관련된 controller나, @(어노테이션), ViewResolver, Interceptor, MultipartResolver 등의 설정을 해줍니다.
초기 파일을 보시면
위와 같은 주석이 있는데,,
DispatcherServlet과 관련된 설정을 해야함을 알 수 있습니다.
DispatcherServlet은 사용자의 요청이 오면 제일 먼저 시작되는 servlet.
여기서의 base-package는 com.crud.controller이므로 그 package안에 있는 controller를 인식하게 된다.
위 controller에서 /home url을 입력하에 되면 home이라는 모델이 실행되게 되는데 이 모델은 home이라는 view를 return 하게 된다.
위에서 localhost:8080은 Tomcat server을 의미하고, 뒤에있는 controller는 tomcat-server에서 이 프로젝트를 인식하는 Web project의 이름이다.
프로젝트 우클릭 -> properties -> Web Project Setting 에서 변경가능하다.
이 후 view가 리턴되면 view 폴더안에 있는 view라는 jsp파일이 호출되게 되는데 이 경로는 servlet-context안에서 설정가능하다.
ViewResolver에서 경로의 prefix와 suffix를 설정해 주고 있는데, 즉 return 값이 view라면 /WEB-INF/views/view.jsp 파일이 호출되는 것이다.
2.pom.xml 설정
dependency 추가 !
CRUD 프로젝트 생성시 필요한 여러가지 기능들을 구현한 library들을 추가해주어야 한다
POM.xml 안에 dependency를 추가하여 library를 사용한다!( 다운받아오는건가?)
dependency는 maven사이트 안에서 가져와서 추가할 수 있다
DB접속을 위해 나의 mysql url정보와 userid , passoword를 설정한다.
Sqlsessionfactory등록
(Mybatis 사용을 위한 sqlsessionfactory 커넥션 추가)
namespace 설정
(충돌방지 설정을 위한 namespace 설정)
-- 나는 이게 왜 안될까 ? ㅠㅠ xml 파일 밑에 namespace라는 항목이 없다 ㅠㅠ
DB기초 공사
참조 : http://m.blog.daum.net/chan-0124/70?np_nil_b=1&categoryId=8
5.VO(DTO) 생성
VO (Value Object) : DB의 정보를 객체화 시키는 용도
DTO (Data Transfer Object) : 외부 시스템과 데이터 통신을 하기 위함.
여기서는 VO를 생성 !
먼저 프로젝트 이름을 domain으로 해서 패키지를 하나 만들고 게시판 구성을 위한 BoardVO.java 생성한다.
그 후 만들어 놓은 DB에 등록된 컬럼을 등록한다.
-> getter와 setter그리고 toString 메소드를 구현한다
-> 화면 우클릭 -> Source -> creat getter setter 클릭
Board-Mapper.xml 작성
1. DAO 와 연동하기 위한 SQL 작성하기
insert,select,update,delete,listAll 쿼리문 작성하기
DAO 작성
Service 작성하기