스프링 부트 3 핵심 가이드 (스프링 부트를 활용한 애플리케이션 개발 실무)

스프링 부트 3 핵심 가이드 (스프링 부트를 활용한 애플리케이션 개발 실무)

$31.83
Description
입문자의 눈높이에 맞춰 차근차근 따라 하면서 배우는 스프링 부트 입문서!
《스프링 부트 3 핵심 가이드》는 스프링 부트 기반의 애플리케이션을 개발할 때 필요한 기초 이론을 소개하고, 스프링 부트를 이해할 수 있게 동작 원리를 상세히 설명합니다. 또한 ‘스프링 부트’다운 코드를 작성하는 방법에 초점을 맞춰 스프링 부트에서 제공하는 편의 기능들을 최대한 활용하고, API 설계에서 보안까지 실무에서 스프링 부트 기반의 애플리케이션을 설계하고 구현하는 방법을 종합적으로 안내합니다.

이 책에서는 스프링 부트 3 버전을 기반으로 본문과 예제 코드를 업데이트해서 최신 버전의 스프링 부트를 기반으로 애플리케이션을 개발하는 방법을 알려줍니다.
저자

장정우

백엔드개발자로일하고있으며유튜브<어라운드허브스튜디오>를운영하면서IT정보를공유하고있습니다.

목차

▣01장:스프링부트란?
1.1스프링프레임워크
__1.1.1제어역전(IoC)
__1.1.2의존성주입(DI)
__1.1.3관점지향프로그래밍(AOP)
__1.1.4스프링프레임워크의다양한모듈
1.2스프링프레임워크vs.스프링부트
__1.2.1의존성관리
__1.2.2자동설정
__1.2.3내장WAS
__1.2.4모니터링

▣02장:개발에앞서알면좋은기초지식
2.1서버간통신
2.2스프링부트의동작방식
2.3레이어드아키텍처
2.4디자인패턴
__2.4.1디자인패턴의종류
__2.4.2생성패턴
__2.4.3구조패턴
__2.4.4행위패턴
2.5RESTAPI
__2.5.1REST란?
__2.5.2RESTAPI란?
__2.5.3REST의특징
__2.5.4REST의URI설계규칙

▣03장:개발환경구성
3.1자바JDK설치
3.2인텔리제이IDEA설치

▣04장:스프링부트애플리케이션개발하기
4.1프로젝트생성
__4.1.1인텔리제이IDEA에서프로젝트생성하기
__4.1.2스프링공식사이트에서프로젝트생성하기
4.2pom.xml(ProjectObjectModel)살펴보기
__4.2.1빌드관리도구
__4.2.2메이븐
4.3HelloWorld출력하기
__4.3.1컨트롤러작성하기
__4.3.2애플리케이션실행하기
__4.3.3웹브라우저를통한동작테스트
__4.3.4TalendAPITester를통한동작테스트

▣05장:API를작성하는다양한방법
5.1프로젝트설정
5.2GETAPI만들기
__5.2.1@RequestMapping으로구현하기
__5.2.2매개변수가없는GET메서드구현
__5.2.3@PathVariable을활용한GET메서드구현
__5.2.4@RequestParam을활용한GET메서드구현
__5.2.5DTO객체를활용한GET메서드구현
5.3POSTAPI만들기
__5.3.1@RequestMapping으로구현하기
__5.3.2@RequestBody를활용한POST메서드구현
5.4PUTAPI만들기
__5.4.1@RequestBody를활용한PUT메서드구현
__5.4.2ResponseEntity를활용한PUT메서드구현
5.5DELETEAPI만들기
__5.5.1@PathVariable과@RequestParam을활용한DELETE메서드구현
5.6[한걸음더]RESTAPI명세를문서화하는방법–Swagger
5.7[한걸음더]로깅라이브러리–Logback
__5.7.1Logback설정
__5.7.2Logback적용하기
5.8정리

▣06장:데이터베이스연동
6.1마리아DB설치
6.2ORM
6.3JPA
6.4하이버네이트
__6.4.1SpringDataJPA
6.5영속성컨텍스트
__6.5.1엔티티매니저
__6.5.2엔티티의생명주기
6.6데이터베이스연동
__6.6.1프로젝트생성
6.7엔티티설계
__6.7.1엔티티관련기본애너테이션
6.8리포지터리인터페이스설계
__6.8.1리포지터리인터페이스생성
__6.8.2리포지터리메서드의생성규칙
6.9DAO설계
__6.9.1DAO클래스생성
6.10DAO연동을위한컨트롤러와서비스설계
__6.10.1서비스클래스만들기
__6.10.2컨트롤러생성
__6.10.3SwaggerAPI를통한동작확인
6.11[한걸음더]반복되는코드의작성을생략하는방법–롬복
__6.11.1롬복설치
__6.11.2롬복적용
__6.11.3롬복의주요애너테이션

▣07장:테스트코드작성하기
7.1테스트코드를작성하는이유
7.2단위테스트와통합테스트
__7.2.1단위테스트의특징
__7.2.2통합테스트의특징
7.3테스트코드를작성하는방법
__7.3.1Given-When-Then패턴
__7.3.2좋은테스트를작성하는5가지속성(F.I.R.S.T)
7.4JUnit을활용한테스트코드작성
__7.4.1JUnit의세부모듈
__7.4.2스프링부트프로젝트생성
__7.4.3스프링부트의테스트설정
__7.4.4JUnit의생명주기
__7.4.5스프링부트에서의테스트
__7.4.6컨트롤러객체의테스트
__7.4.7서비스객체의테스트
__7.4.8리포지터리객체의테스트
7.5JaCoCo를활용한테스트커버리지확인
__7.5.1JaCoCo플러그인설정
__7.5.2JaCoCo테스트커버리지확인
7.6테스트주도개발(TDD)
__7.6.1테스트주도개발의개발주기
__7.6.2테스트주도개발의효과
7.7정리

▣08장:SpringDataJPA활용
8.1프로젝트생성
8.2JPQL
8.3쿼리메서드살펴보기
__8.3.1쿼리메서드의생성
__8.3.2쿼리메서드의주제키워드
__8.3.3쿼리메서드의조건자키워드
8.4정렬과페이징처리
__8.4.1정렬처리하기
__8.4.2페이징처리
8.5@Query애너테이션사용하기
8.6Querydsl적용하기
__8.6.1Querydsl이란?
__8.6.2Querydsl의장점
__8.6.3Querydsl을사용하기위한프로젝트설정
__8.6.4기본적인Querydsl사용법
__8.6.5QuerydslPredicateExecutor,QuerydslRepositorySupport활용
8.7[한걸음더]JPAAuditing적용
__8.7.1JPAAuditing기능활성화
__8.7.2BaseEntity만들기
8.8정리

▣09장:연관관계매핑
9.1연관관계매핑종류와방향
9.2프로젝트생성
9.3일대일매핑
__9.3.1일대일단방향매핑
__9.3.2일대일양방향매핑
9.4다대일,일대다매핑
__9.4.1다대일단방향매핑
__9.4.2다대일양방향매핑
__9.4.3일대다단방향매핑
9.5다대다매핑
__9.5.1다대다단방향매핑
__9.5.2다대다양방향매핑
9.6영속성전이
__9.6.1영속성전이적용
__9.6.2고아객체
9.7정리

▣10장:유효성검사와예외처리
10.1일반적인애플리케이션유효성검사의문제점
10.2HibernateValidator
10.3스프링부트에서의유효성검사
__10.3.1프로젝트생성
__10.3.2스프링부트용유효성검사관련의존성추가
__10.3.3스프링부트의유효성검사
__10.3.4@Validated활용
__10.3.5커스텀Validation추가
10.4예외처리
__10.4.1예외와에러
__10.4.2예외클래스
__10.4.3예외처리방법
__10.4.4스프링부트의예외처리방식
__10.4.5커스텀예외
__10.4.6커스텀예외클래스생성하기

▣11장:액추에이터활용하기
11.1프로젝트생성및액추에이터의존성추가
11.2엔드포인트
11.3액추에이터기능살펴보기
__11.3.1애플리케이션기본정보(/info)
__11.3.2애플리케이션상태(/health)
__11.3.3빈정보확인(/beans)
__11.3.4스프링부트의자동설정내역확인(/conditions)
__11.3.5스프링환경변수정보(/env)
__11.3.6로깅레벨확인(/loggers)
11.4액추에이터에커스텀기능만들기
__11.4.1정보제공인터페이스의구현체생성
__11.4.2커스텀엔드포인트생성

▣12장:서버간통신
12.1RestTemplate이란?
__12.1.1RestTemplate의동작원리
__12.1.2RestTemplate의대표적인메서드
12.2RestTemplate사용하기
__12.2.1서버프로젝트생성하기
__12.2.2RestTemplate구현하기
__12.2.3RestTemplate커스텀설정
12.3WebClient란?
__12.3.1WebClient구성
12.4WebClient사용하기
__12.4.1WebClient구현
12.5RestClient란?
12.6RestClient사용하기
__12.6.1RestClient생성
12.7정리

▣13장:서비스의인증과인가
13.1보안용어이해
__13.1.1인증
__13.1.2인가
__13.1.3접근주체
13.2스프링시큐리티
13.3스프링시큐리티의동작구조
13.4JWT
__13.4.1JWT의구조
__13.4.2JWT디버거사용하기
13.5스프링시큐리티와JWT적용
__13.5.1UserDetails와UserDetailsService구현
__13.5.2JwtTokenProvider구현
__13.5.3JwtAuthenticationFilter구현
__13.5.4SecurityConfiguration구현
__13.5.5커스텀AccessDeniedHandler,AuthenticationEntryPoint구현
__13.5.6회원가입과로그인구현
__13.5.7스프링시큐리티테스트
13.6정리