[Spring] 10/16 수업
오늘은 이제까지 배운 스프링 레거시 내용을 복습하기 위해 혼자 프로젝트를 만들어보는 시간을 주셨다.
Spring 프로젝트
Spring 파일 작성 순서
pom.xml 라이브러리 => root-context.xml DB설정 => servlet-context.xml => web.xml servlet-context 등록, servlet, encoding 등록 => DB 테이블 만들기 => DTO클래스, VO 클래스 => mapper => service => controller => 화면
Annotation
-
TodoDTO.java
@Data : 클래스의 getter, setter, toString 메서드를 자동으로 생성
@AllArgsConstructor : 모든 필드를 매개변수로 받는 생성자를 자동으로 생성
@NoArgsConstructor : 기본 생성자를 자동으로 생성해준다
@Builder : 빌더 패턴을 적용
@NotEmpty : 해당 필드가 null 또는 빈 문자열이 아닌지 검사
@Future : 미래 날짜인지 검사
@Service :
DTO vs VO
Mapper
- Mapper.xml 파일의 기본 구조는 xml 자동생성이 아니라 mybatis 홈페이지 => 소개 => 시작하기 => 매핑된 SQL 구문 살펴보기의 코드를 써야한다.
- Spring에서는 xml 파일과 클래스, 인터페이스를 만들고 작성을 제대로 하지 않으면 Spring에서 검사를 하므로 대충 작성하고 넘어가면 연관되지 않는 코드라도 오류가 일어난다.
mapper 인터페이스 => mapper.xml(쿼리 ) DB
=> service&impl(구현) (페이지에 보여주는거)
=> controller
Spring Boot
- 프로젝트 생성시 종속성 추가
Developer Tools : Spring Boot Dev Tools, Lombok
Web : Spring Web
SQL : MyBatis, MySQL Driver
-
Boot 프로젝트에는 webapp 폴더 없음
=> webapp, WEB-INF 폴더 만들어줘야함
-
설정(application.properties => db, xml, dto, view 추가설정)
-
사용할 DB테이블 생성
-
BoardDTO(VO생략)
-
BoardMapper 함수 추가(selectAll())
-
BoardMapper.xml 쿼리 작성(mybatis 홈페이지 => 소개 => 시작하기 => 매핑된 SQL 구문 살펴보기 코드 복붙)
-
service 패키지
BoardService interface => 추상메서드(getList())
BoardService class => 인터페이스 구현
BoardMapper에 Mapper annotation 붙여줘야 boardMapper 변수 인식함
-
controller 패키지
BoardController class => controller 어노테이션 => list 함수(db 테이블(boardList)을 list.jsp로 보냄) => list.jsp 파일에서 boardList 찍어본다.
댓글남기기