책소개
이 책은 스프링 부트를 이용하여 웹 시스템을 개발하고자 하는 사람을 위한 것이다.<br>이미지를 판매하는 간단한 디지털 컨텐츠 샵을 구축해 봄으로써 스프링 부트의 실제 사용법을 배울 수 있다.<br>실전 프로젝트 개발에 필요한 스프링 부트의 기본 개념과 타임리프, 마이바티스, 스프링 시큐리티 등을 함께 설명한다.
목차
1장 : 스프링 부트 개발환경<br> 1. 자바 설치<br> 2. Spring Tools 4 설치<br> 3. UTF-8 설정<br>2장 : 프로젝트 생성 <br> 1. 스프링 부트 프로젝트 생성 <br> 2. 프로젝트 파일 구성<br> 3. 프로젝트 실행<br> 4. 스프링 MVC<br> 5. 스프링 MVC 구조<br>3장 : 컨트롤러 요청 매핑<br> 1. 요청 경로 매핑<br> 2. 경로 패턴 매핑<br> 3. Http 메서드 매핑<br> 4. Params 매핑<br> 5. Headers 매핑<br> 6. Content Type 매핑<br> 7. Accept 매핑<br>4장 : 컨트롤러 응답<br> 1. void 타입<br> 2. String 타입<br> 3. 자바빈즈 클래스 타입<br> 4. 컬렉션 List 타입<br> 5. 컬렉션 Map 타입<br> 6. ResponseEntity<Void> 타입<br> 7. ResponseEntity<String> 타입<br> 8. ResponseEntity<자바빈즈 클래스> 타입<br> 9. ResponseEntity<List> 타입<br> 10. ResponseEntity<Map> 타입<br> 11. ResponseEntity<byte[]> 타입<br>5장 : 컨트롤러 요청 처리<br> 1. 컨트롤러 메서드 매개변수<br> 2. 요청 처리<br> 3. 요청 데이터 처리 애너테이션<br> 4. 요청 처리 자바빈즈<br> 5. Date 타입 처리<br> 6. @DateTimeFormat 애너테이션<br> 7. 폼 방식 요청 처리<br> 8. 파일업로드 폼 방식 요청 처리<br> 9. Ajax 방식 요청 처리<br> 10. 파일업로드 Ajax 방식 요청 처리<br>6장 : 데이터 전달자 모델<br> 1. 모델 객체<br> 2. 모델을 통한 데이터 전달<br> 3. @ModelAttribute 애너테이션<br> 4. RedirectAttributes 타입<br>7장 : 타임리프<br> 1. 타임리프 소개<br> 2. 텍스트 사용<br> 3. 표현식<br> 4. 속성 값 설정<br> 5. 제어 속성<br> 6. 인라인<br> 7. 주석<br> 8. 템플릿 프래그먼트<br> 9. 레이아웃 재사용<br> 10. 유틸리티 객체<br>8장 : 스프링 폼<br> 1. 폼 요소<br> 2. 텍스트 필드 요소<br> 3. 패스워드 필드 요소<br> 4. 텍스트 영역 요소<br> 5. 여러 개의 체크박스 요소<br> 6. 체크박스 요소<br> 7. 여러 개의 라디오 버튼 요소<br> 8. 라디오 버튼 요소<br> 9. 셀렉트 박스 요소<br> 10. 숨겨진 필드 요소<br> 11. 입력값 검증 에러<br>9장 : 입력 유효성 검증<br> 1. 입력값 검증<br> 2. 입력값 검증 결과<br> 3. 입력값 검증 규칙<br> 4. 중첩된 자바빈즈 입력값 검증<br>10장 : 메시지 처리<br> 1. 메시지 소스 정의<br> 2. 컨트롤러에서 메시지 소스 사용<br> 3. 국제화<br>11장 : 데이터베이스 연동<br> 1. MySQL 설치<br> 2. MySQL Workbench<br> 3. 데이터 소스 설정<br> 4. CRUD 게시판 소개<br> 5. 스프링 JDBC<br> 6. JPA<br>12장 : 마이바티스<br> 1. 마이바티스 소개<br> 2. Mapper 인터페이스<br> 3. 별칭 적용<br> 4. _로 구분된 컬럼명 자동 매핑<br> 5. 기본키 취득<br> 6. 일대다 관계 테이블 매핑<br> 7. 동적 SQL<br>13장 : 파일 업로드<br> 1. 파일업로드 설명<br> 2. 이미지 업로드<br> 3. 여러 개의 이미지 업로드<br> 4. 비동기 방식 업로드<br>14장 : AOP<br> 1. AOP 설명<br> 2. 포인트컷 표현식<br> 3. Before 어드바이스<br> 4. After Returning 어드바이스<br> 5. After Throwing 어드바이스<br> 6. After 어드바이스<br> 7. Around 어드바이스<br> 8. 메서드 정보 획득<br>15장 : 트랜잭션<br> 1. 트랙잭션 설명<br> 2. 트랙잭션 설정<br> 3. 트랜잭션 적용<br>16장 : 예외 처리<br> 1. 예외 처리<br> 2. 예외 상황<br> 3. 예외 처리 애너테이션<br> 4. 예외 정보 출력<br> 5. 404 에러 페이지 처리<br> 6. 입력값 검증 예외 처리<br>17장 : 인터셉터<br> 1. 인터셉터 설명<br> 2. 인터셉터 설정<br> 3. 인터셉터 활용 - 세션 처리<br> 4. 인터셉터 활용 - 접근 로그 저장<br> 5. 여러 개의 인터셉터 지정<br>18장 : 스프링 시큐리티<br> 1. 스프링 시큐리티 소개<br> 2. 스프링 시큐리티 설정<br> 3. 접근 제한 설정<br> 4. 로그인 처리<br> 5. 접근 거부 처리<br> 6. 사용자 정의 접근 거부 처리자<br> 7. 사용자 정의 로그인 페이지<br> 8. 로그인 성공 처리<br> 9. 로그아웃 처리<br> 10. JDBC 이용한 인증/인가 처리<br> 11. 사용자 테이블 이용한 인증/인가 처리<br> 12. UserDetailsService 재정의<br> 13. 스프링 시큐리티 표현식<br> 14. 자동 로그인<br> 15. 스프링 시큐리티 애너테이션<br>19장 : 실전 프로젝트<br> 1. 프로젝트 소개<br> 2. 프로젝트 생성<br> 3. 스프링 MVC<br> 4. 홈 화면<br> 5. 메시지 처리<br> 6. 타임리프 레이아웃<br> 7. 데이터베이스 스키마 생성<br> 8. 데이터베이스 테이블 생성<br> 9. 데이터베이스 접근 설정<br> 10. 코드그룹 관리<br> 11. 코드 관리<br> 12. 회원 관리<br> 13. 최초 관리자 생성<br> 14. 로그인<br> 15. 로그아웃<br> 16. 접근 제한 설정<br> 17. 회원 게시판<br> 18. 페이징 처리<br> 19. 검색 기능 추가<br> 20. 공지사항<br> 21. 상품 관리<br> 22. 코인 충전<br> 23. 상품 구매<br> 24. 공개 자료실<br> 25. 예외 처리<br> 26. 로그인 로깅 처리<br> 27. 인터셉터를 활용한 접근 로깅 처리<br> 28. AOP를 활용한 서비스 성능 로깅 처리<br>부록<br> 1. 업데이트<br> 2. 소스 다운로드<br> 3. ResourceBundle Editor 플러그인 설치