컨텐츠상세보기

실전 스프링 부트 웹 개발 Thymeleaf + JPA + MySQL
실전 스프링 부트 웹 개발 Thymeleaf + JPA + MySQL
  • 저자<향단코드> 저
  • 출판사온노트
  • 출판일2020-04-13
  • 등록일2020-06-04
보유 1, 대출 0, 예약 0, 누적대출 2, 누적예약 0

책소개

이 책은 스프링 부트를 이용하여 웹 시스템을 개발하고자 하는 사람을 위한 것입니다.
이미지를 판매하는 간단한 디지털 컨텐츠 샵을 구축해 봄으로써 스프링 부트의 실제 사용법을 배울 수 있습니다.
실전 프로젝트 개발에 필요한 스프링 부트의 기본 개념과 타임리프, JPA, 스프링 시큐리티, 롬복 등을 함께 설명합니다.
프로그램 코드 위주로 책이 구성이 되어 있어서 스프링 부트를 처음 접하시거나 자세한 개념적 내용을 원하시는 분은 맞지 않을 수 있습니다.
이 책은 직접 소스코드를 다운로드 받아서 직접 코드를 실행해보면서 코드 행간의 의미를 파악하시는 것이 도움이 되겠습니다.

목차

1장 : 스프링 부트 개발환경
___1. 자바 설치
___2. Spring Tools 4 설치
___3. UTF-8 설정
2장 : 프로젝트 생성
___1. 스프링 부트 프로젝트 생성
___2. 프로젝트 파일 구성
___3. 프로젝트 실행
___4. 스프링 MVC
___5. 스프링 MVC 구조
___6. 스프링 스타터 프로젝트 의존성
3장 : 롬복
___1. 롬복 설치
___2. 자바빈즈
___3. 롬복 애너테이션
___4. @Getter와 @Setter
___5. @ToString
___6. @EqualsAndHashCode
___7. @NoArgsConstructor
___8. @RequiredArgsConstructor
___9. @AllArgsConstructor
___10. @Data
___11. @Builder
___12. @Log
4장 : 컨트롤러 요청 매핑
___1. 요청 경로 매핑
___2. 경로 패턴 매핑
___3. Http 메서드 매핑
___4. Params 매핑
___5. Headers 매핑
___6. Content Type 매핑
___7. Accept 매핑
5장 : 컨트롤러 응답
___1. void 타입
___2. String 타입
___3. 자바빈즈 클래스 타입
___4. 컬렉션 List 타입
___5. 컬렉션 Map 타입
___6. ResponseEntity 타입
___7. ResponseEntity 타입
___8. ResponseEntity<자바빈즈 클래스> 타입
___9. ResponseEntity 타입
___10. ResponseEntity 타입
___11. ResponseEntity 타입
6장 : 컨트롤러 요청 처리
___1. 컨트롤러 메서드 매개변수
___2. 요청 처리
___3. 요청 데이터 처리 애너테이션
___4. 요청 처리 자바빈즈
___5. Date 타입 처리
___6. @DateTimeFormat 애너테이션
___7. 폼 방식 요청 처리
___8. 파일업로드 폼 방식 요청 처리
___9. Ajax 방식 요청 처리
___10. 파일업로드 Ajax 방식 요청 처리
7장 : 데이터 전달자 모델
___1. 모델 객체
___2. 모델을 통한 데이터 전달
___3. @ModelAttribute 애너테이션
___4. RedirectAttributes 타입
8장 : 타임리프
___1. 타임리프 소개
___2. 텍스트 사용
___3. 표현식
___4. 속성 값 설정
___5. 제어 속성
___6. 인라인
___7. 주석
___8. 템플릿 프래그먼트
___9. 레이아웃 재사용
___10. 유틸리티 객체
9장 : 스프링 폼
___1. 폼 요소
___2. 텍스트 필드 요소
___3. 패스워드 필드 요소
___4. 텍스트 영역 요소
___5. 여러 개의 체크박스 요소
___6. 체크박스 요소
___7. 여러 개의 라디오 버튼 요소
___8. 라디오 버튼 요소
___9. 셀렉트 박스 요소
___10. 숨겨진 필드 요소
___11. 입력값 검증 에러
10장 : 입력 유효성 검증
___1. 입력값 검증
___2. 입력값 검증 결과
___3. 입력값 검증 규칙
___4. 중첩된 자바빈즈 입력값 검증
11장 : 메시지 처리
___1. 메시지 소스 정의
___2. 컨트롤러에서 메시지 소스 사용
___3. 국제화
12장 : 데이터베이스 연동
___1. MySQL 설치
___2. MySQL Workbench
___3. 데이터 소스 설정
___4. CRUD 게시판 소개
___5. 스프링 JDBC
___6. JPA
___7. 마이바티스
13장 : JPA
___1. 소개
___2. JPA 설정
___3. JPA 애너테이션
___4. 스프링 데이터 JPA
___5. 쿼리메서드
___6. JPQL
___7. Querydsl
___8. 사용자 정의 인터페이스
14장 : JPA 활용
___1. CRUD 게시판
___2. 페이징 게시판
___3. 검색 게시판
___4. JPQL 활용
___5. Querydsl 활용
___6. 사용자 정의 인터페이스 활용
___7. 임베디드 타입
___8. 밸류 타입 컬렉션
15장. JPA 연관
___1. 엔티티 연관
___2. 일대다 단방향
___3. 다대일 단방향
___4. 다대일 양방향
___5. 일대일 단방향1
___6. 일대일 단방향2
___7. 일대일 양방향
___8. 다대다 단방향
___9. 다대다 양방향
___10. 다대다 연결 엔티티
16장 : 파일 업로드
___1. 파일업로드 설명
___2. 이미지 업로드
___3. 여러 개의 이미지 업로드
___4. 비동기 방식 업로드
17장 : AOP
___1. AOP 설명
___2. 포인트컷 표현식
___3. Before 어드바이스
___4. After Returning 어드바이스
___5. After Throwing 어드바이스
___6. After 어드바이스
___7. Around 어드바이스
___8. 메서드 정보 획득
18장 : 트랜잭션
___1. 트랙잭션 설명
___2. 트랙잭션 설정
___3. 트랜잭션 적용
19장 : 예외 처리
___1. 예외 처리
___2. 예외 상황
___3. 예외 처리 애너테이션
___4. 예외 정보 출력
___5. 404 에러 페이지 처리
___6. 입력값 검증 예외 처리
20장 : 인터셉터
___1. 인터셉터 설명
___2. 인터셉터 설정
___3. 인터셉터 활용 - 세션 처리
___4. 인터셉터 활용 - 접근 로그 저장
___5. 여러 개의 인터셉터 지정
21장 : 스프링 시큐리티
___1. 스프링 시큐리티 소개
___2. 스프링 시큐리티 설정
___3. 접근 제한 설정
___4. 로그인 처리
___5. 접근 거부 처리
___6. 사용자 정의 접근 거부 처리자
___7. 사용자 정의 로그인 페이지
___8. 로그인 성공 처리
___9. 로그아웃 처리
___10. JDBC 이용한 인증/인가 처리
___11. 사용자 테이블 이용한 인증/인가 처리
___12. UserDetailsService 재정의
___13. 스프링 시큐리티 표현식
___14. 자동 로그인
___15. 스프링 시큐리티 애너테이션
22장 : 실전 프로젝트
___1. 프로젝트 소개
___2. 프로젝트 생성
___3. 스프링 MVC
___4. 홈 화면
___5. 메시지 처리
___6. 타임리프 레이아웃
___7. 데이터베이스 스키마 생성
___8. 데이터베이스 테이블 생성
___9. 데이터베이스 접근 설정
___10. 코드그룹 관리
___11. 코드 관리
___12. 회원 관리
___13. 최초 관리자 생성
___14. 로그인
___15. 로그아웃
___16. 접근 제한 설정
___17. 회원 게시판
___18. 페이징 처리
___19. 검색 기능 추가
___20. 공지사항
___21. 상품 관리
___22. 코인 충전
___23. 상품 구매
___24. 공개 자료실
___25. 예외 처리
___26. 로그인 로깅 처리
___27. 인터셉터를 활용한 접근 로깅 처리
___28. AOP를 활용한 서비스 성능 로깅 처리
부록
___1. 업데이트
___2. 소스 다운로드
___3. Querydsl 개발 환경 설정
___4. 예제 프로젝트 불러오기
___5. JUnit 테스트 실행하기
___6. 세션 쿠키 삭제하기