스프링 5 마스터 2/e > 도서

본문 바로가기

도서

스프링 5 마스터 2/e

로즈
2025-01-20 00:21 66 0

본문




스프링 5 마스터 2/e
9791161754406.jpg


도서명 : 스프링 5 마스터 2/e
저자/출판사 : 랑가 라오 카라남, 에이콘출판
쪽수 : 700쪽
출판일 : 2020-09-16
ISBN : 9791161754406
정가 : 40000

1부 스프링과 스프링 부트 시작하기

1장. 스프링 환경 - 프레임워크, 모듈 및 프로젝트
__스프링 탐색과 진화
__스프링 프레임워크의 첫 번째 버전
____느슨한 결합 및 테스트 가능성
____아키텍처의 유연성
____복잡한 코드 감소
__스프링 프레임워크의 초기 - 스프링 프로젝트
____자바 EE 보다 앞서간 스프링 웹 서비스
__마이크로서비스로의 진화 - 스프링 부트 및 스프링 클라우드
____스프링 부트로 마이크로서비스를 빠르게 구축하기
____스프링 클라우드를 사용해 마이크로서비스와 클라우드 연결하기
____잠시 배운 것을 복습해보면
__스프링 모듈
__스프링 코어 컨테이너
__크로스 컷팅
__웹 - 스프링 MVC
____비즈니스 레이어
____데이터 레이어
__스프링 프로젝트
____스프링 부트
____스프링 클라우드
____스프링 데이터
____스프링 배치
____스프링 시큐리티
____스프링 HATEOAS
__스프링 프레임워크 5.0과 5.1의 새로운 기능
____기준선 업그레이드
____자바 11 지원
____스프링 프레임워크 코드에서 JDK8 기능 사용
____리액티브 프로그래밍 지원
____함수형 웹 프레임워크
____직소를 사용한 자바 모듈성
____코틀린 지원
____삭제된 기능
__스프링 부트 2.0과 2.1의 새로운 기능
__요약

2장. 의존 관계 주입 및 단위 테스트
__기술적 요구사항
__의존 관계
__의존 관계를 갖는 이유
__의존 관계 주입의 개념
____느슨하고 단단한 결합
____단단한 결합을 제거하고 코드를 느슨하게 결합하기
__스프링 프레임워크는 무엇을 할까?
____질문 1 - 스프링 IoC 컨테이너는 어떤 빈을 생성해야 하는지 어떻게 알까?
____질문 2 - 스프링 IoC 컨테이너는 빈의 의존 관계를 어떻게 알 수 있을까?
____스프링 IoC 컨테이너 생성
__스프링 프레임워크
____컨테이너 관리 빈
____자바 대 XML 구성
____애플리케이션 컨텍스트에 XML 구성 사용
____@Autowired 어노테이션
____@Primary 어노테이션
____@Qualifier 어노테이션
____의존 관계 주입 옵션
____스프링 빈 스코프 사용자 정의
____기타 중요한 스프링 어노테이션
__CDI 탐색
____CDI의 예
__스프링 애플리케이션 컨텍스트의 단위 테스트
____단위 테스트란?
____스프링 컨텍스트를 사용해 JUnit 작성
____모크를 사용한 단위 테스트
__요약

3장. 스프링 MVC로 웹 애플리케이션 구축
__기술적 요구사항
__자바 서블릿 웹 애플리케이션 아키텍처
____모델1 아키텍처
____모델2 아키텍처
____모델2 프론트 컨트롤러 아키텍처
__6가지 기본 플로우 예제가 있는 스프링 MVC 학습
____스프링 MVC 애플리케이션 설정
____플로우1 - 뷰 없는 간단한 컨트롤러 플로우
____플로우2 - 뷰(JSP)로 간단한 컨트롤러 플로우 만들기
____플로우3 - 모델이 있는 뷰로 전환하는 컨트롤러
____플로우4 - ModelAndView를 사용해 뷰로 전환하는 컨트롤러
____플로우5 - 폼이 있는 뷰로 전환하는 컨트롤러
____플로우6 - 이전 플로우에 유효성 검사 추가
__스프링 MVC
__스프링 MVC의 핵심 개념
____RequestMapping
____뷰 리솔루션
____핸들러 맵핑 및 인터셉터 탐색
____모델 속성
____세션 속성 사용
____InitBinder의 필요성
____@ControllerAdvice 어노테이션을 사용해 공통 기능 구현하기
__스프링 MVC 고급 기능 살펴보기
____예외 처리 구현하기
____애플리케이션 국제화
____정적 리소스 제공
____스프링 MVC와 부트 스트랩 통합하기
__스프링 MVC 애플리케이션의 단위 테스트 ? 기본 플로우
____플로우1 - 뷰 없는 간단한 컨트롤러 플로우
____플로우2 - 뷰가 있는 간단한 컨트롤러 플로우
____플로우3 - 모델이 있는 뷰로 전환하는 컨트롤러
____플로우4 - ModelAndView를 사용해 뷰로 전환하는 컨트롤러
____플로우5 - 폼이 있는 뷰로 전환하는 컨트롤러
____플로우6 - 이전 플로우에 유효성 검사 추가
__스프링 MVC 컨트롤러의 통합 테스트 작성
__스프링 시큐리티
____스프링 시큐리티 의존 관계 추가
____모든 요청을 인터셉트하도록 필터 설정
____로그아웃
__요약

4장. 스프링 부트 시작
__기술적 요구사항
__스프링 부트란?
____애플리케이션의 빠른 프로토타입 구축 단계
____스프링 부트의 기본 목표
____스프링 부트의 비기능적 특징
__스프링 부트로 Hello World 애플리케이션 구축하기
____spring-boot-starter-parent로 pom.xml 생성하기
____스타터 프로젝트로 pom.xml 구성
____spring-boot-maven-plugin 설정
____첫 번째 스프링 부트 launch 클래스 생성
____Hello World 애플리케이션 실행
____자동 설정
____스프링 부트 스타터 프로젝트
__스프링 이니셜라이저 시작하기
____첫 스프링 이니셜라이저 프로젝트 생성하기
__자동 설정
__애플리케이션 구성 외부화
____application.properties 시작하기
____application.properties를 통한 프레임워크 사용자 정의
____애플리케이션별로 사용자-정의 속성 정의하기
____다른 환경에 대한 프로파일 생성
____애플리케이션 구성을 제공하기 위한 기타 옵션
____YAML 구성
__임베디드 서버
____전통적인 자바 애플리케이션 배포
____임베디드 서버
____제티 및 언더토우 임베디드 서버로 전환하기
____JAR를 사용하는 대신 기존 WAR 파일 빌드
__개발자 도구를 사용해 생산성 향상
____브라우저에서 실시간 리로드 활성화
__애플리케이션 모니터링에 스프링 부트 액추에이터 사용하기
____HAL 브라우저를 사용해 액추에이터 엔드포인트 찾기
____애플리케이션 구성 속성
____환경 세부 정보
____애플리케이션 상태 모니터링
____매핑 정보 얻기
____빈 구성으로 디버깅하기
____중요한 매트릭스 탐색하기
____자동 설정의 디버그 정보 얻기
____디버깅
__요약

5장. 스프링 프레임워크 심화
__기술적 요구사항
__스프링과 AspectJ로 AOP 살펴보기
____크로스 컷팅 및 AOP 탐색
____중요한 AOP 용어
____AOP 프레임워크
____AOP 실습
__스프링으로 작업 스케줄링하기
____@Scheduled로 작업 스케줄링하기
____@Async를 사용해 비동기식으로 작업 실행하기
____작업 실행자
__스프링 프레임워크를 이용한 스크립팅
____JSR 223 - 자바TM 플랫폼용 스크립팅
____스프링 엔터프라이즈 애플리케이션에서 그루비 코드 실행하기
__요약

2부 스프링으로 REST API와 풀스택 애플리케이션 구축하기

6장. 스프링 부트로 REST API 구축
__REST
__첫 번째 REST API 설계
____REST API 연산을 위한 요청 메소드 및 URI 결정하기
____API 생성을 위한 고급 접근 방법
__스프링 부트로 Hello World API 만들기
____Hello World 문자열을 반환하는 API 만들기
____welcome JSON 응답을 리턴하는 REST API 만들기
____name 경로 변수로 welcome 메시지 만들기
__todo REST API 만들기
____빈과 서비스 설정
____todo 리스트 검색하기
____특정 Todo의 세부사항 검색
____Todo 추가
____Todo 업데이트
____Todo 삭제하기
__REST API에 대한 예외 처리 구현하기
____스프링 부트 디폴트 예외 처리
____예외 응답 커스터마이징
__HATEOAS
____응답으로 HATEOAS 링크 보내기
__REST API에 대한 유효성 검사 구현하기
____컨트롤러 메소드에서 유효성 검사 활성화하기
____빈에서 유효성 검사 정의하기
__OpenAPI 스펙을 사용한 REST 서비스 문서화
____스웨거 스펙 생성하기
____스웨거 스펙 살펴보기
__REST API 국제화 구현하기
__REST API 캐싱 구현하기
____caching-spring-boot-starter-cache를 위한 스타터 프로젝트
____애플리케이션의 캐싱 활성화하기
____데이터 캐싱
____JSR-107 캐싱 어노테이션
__클라우드에 스프링 부트 애플리케이션 배포하기
____클라우드 파운드리에 애플리케이션 배포하기
__요약

7장. 스프링 부트를 이용한 REST API 단위 테스트
__기술적 요구사항
__스프링 부트를 이용한 REST API 단위 테스트
____스프링 부트 스타터 테스트에 대한 의존 관계 추가
____BasicController API 단위 테스트
____TodoController API에 대한 단위 테스트
__스프링 부트와 REST API 통합 테스트
____BasicController에 대한 통합 테스트 작성
____TodoController API에 대한 통합 테스트
__단위 및 통합 테스트 모범 사례
__요약

8장. 스프링 시큐리티를 활용한 시큐리티 REST API
__기술적 요구사항
__스프링 시큐리티를 이용한 시큐리티 REST API
____REST API 시큐리티
____REST API 시큐리티 구현하기
____Todo API에 스프링 시큐리티 추가하기
__스프링 시큐리티
____로그 검토
____스프링 시큐리티 필터
____스프링 시큐리티의 인증
____스프링 시큐리티의 인증 확장 포인트
____스프링 시큐리티의 권한
____스프링 시큐리티의 인증 확장 포인트
____서비스 메소드에 대한 시큐리티 어노테이션 제공
____서비스 메소드에 대한 JSR-250 어노테이션 제공
____스프링 시큐리티 pre 및 post 어노테이션
____스프링 시큐리티를 이용한 시큐리티 모범 사례 구현
__OAuth2 인증
____OAuth2 상위 플로우
____OAuth2 서버 생성하기
__JWT를 이용한 인증
____JWT
____OAuth2와 함께 JWT 사용하기
__요약

9장. 리액트 및 스프링 부트가 포함된 풀스택 앱
__기술적 요구사항
__풀스택 아키텍처
____풀스택 아키텍처의 필요성
__리액트
____프론트 엔드 애플리케이션의 컴포넌트
____JSX
____JSX와 컴포넌트 결합하기
__첫 번째 리액트 애플리케이션 빌드
____create-react-app
____비주얼 스튜디오 코드 IDE로 리액트 애플리케이션 가져오기
____리액트 프레임워크 초기화하기
____Todo 컴포넌트 생성하기
____기본 Todo 관리 기능 추가하기
____RESTful API를 호출하는 todo 추가하기
____인증
__요약

10장. 스프링 데이터로 데이터 관리하기
__기술적 요구사항
__다양한 데이터 레파지토리의 과제
__관계형 데이터베이스와 통신하기
__스프링 데이터
____스프링 데이터 커먼즈
__스프링 데이터 JPA를 사용해 관계형 데이터베이스에 연결하기
____스프링 데이터 JPA 예제
____거래 관리 시작하기
__스프링 데이터를 이용한 몽고DB와의 상호 작용
____의존 관계 설정
____Person 엔티티 생성하기
____Person 레파지토리 생성하기
____단위 테스트에서 레파지토리 테스트하기
__스프링 데이터 REST를 사용해 REST API 생성하기
____GET 메소드
____POST 메소드
____검색 리소스
__요약

3부 스프링을 이용한 클라우드, 마이크로서비스 및 모범 사례

11장. 마이크로서비스 시작
__애플리케이션 개발 목표
__빠른 애플리케이션 구축 - 속도
__신뢰할 수 있는 애플리케이션 구축 - 안전
____신뢰성 - 애플리케이션이 예상대로 작동할까?
____가용성 - 애플리케이션을 항상 사용할 수 있을까?
____안전성 - 애플리케이션은 안전한가?
____성능 - 애플리케이션이 충분히 빠른가?
____높은 복원력 - 애플리케이션이 실패에 잘 반응할까?
__확장성 - 애플리케이션 로딩이 급격히 증가할 때 무엇을 지원해야 할까?
__모놀리식 애플리케이션 문제
____릴리스 업데이트의 문제 - 긴 릴리스 주기
____확장의 어려움
____새로운 기술을 적응시키는 데 어려움
____새로운 방법론 적용의 어려움
____현대적인 개발 사례 적용의 어려움
__마이크로서비스 시작
____마이크로서비스란 무엇일까?
____마이크로서비스 아키텍처의 큰 그림
____마이크로서비스 특성
____마이크로서비스 아키텍처의 장점
____마이크로서비스 문제
__클라우드-네이티브 애플리케이션
____12-팩터 앱이란 무엇일까?
__마이크로서비스를 위한 스프링 프로젝트
____스프링 부트
____스프링 클라우드 시작하기
__요약

12장. 스프링 부트 및 스프링 클라우드로 마이크로서비스 구축
__기술적 요구사항
__마이크로서비스
____마이크로서비스A 설정
____서비스 소비자 마이크로서비스 구축하기
__스프링 부트 및 스프링 클라우드 권장 버전 사용
__중앙 집중식 마이크로서비스 구성
____문제 기술
____솔루션
____옵션
____스프링 클라우드 컨피그
__이벤트 중심 접근법에 대한 개요
____JMS API를 이용한 스프링 JMS
____AMQP
__스프링 클라우드 버스
____스프링 클라우드 버스의 필요성
____스프링 클라우드 버스를 이용한 설정 변경 전파
____스프링 클라우드 버스 구현
__선언적 REST 클라이언트 - 페인
__마이크로서비스를 위한 로드 밸런싱 구현
____클라이언트-사이드 로드 밸런싱을 위한 립본
__네임 서버의 필요성
____마이크로서비스 URL 하드 코딩의 한계
__네임 서버 작동
____스프링 클라우드에서 지원하는 네임 서버 옵션
____유레카 명명 서비스 구현
__API 게이트웨이
____주울을 이용한 API 게이트웨이 구현
__분산 추적
____스프링 클라우드 슬루스 및 집킨 구현
__히스트릭스로 내결함성 구현
____서비스 소비자 마이크로서비스에 히스트릭스 통합
__요약


13장. 리액티브 프로그래밍
__기술적 요구사항
__리액티브 선언
____리액티브 시스템의 특성
__리액티브 유스케이스 - 주가 페이지
____전통적인 접근 방식
____리액티브 접근 방식
____전통적인 접근 방식과 리액티브 방식의 비교
__자바에서 리액티브 프로그래밍 구현
____리액티브 스트림
____리액터 프레임워크
____스프링 웹 리액티브로 리액티브 웹 애플리케이션 생성하기
____리액티브 데이터베이스와 통합
____SpringReactiveExampleApplication 실행
__요약

14장. 스프링 모범 사례
__메이븐 표준 디렉토리 레이아웃
__레이어 아키텍처를 사용한 애플리케이션 구축
__다른 레이어에 대한 별도의 컨텍스트 파일이 있다
__중요한 레이어에 대한 API와 impl 분리
__예외 처리 모범 사례
____예외 처리에 대한 스프링의 접근 방식
____권장 접근법
__스프링 구성 간결하게 유지
__ComponentScan에서 basePackageClasses 속성 사용
__스키마 참조에서 버전 번호를 사용하지 않는다
__필수 의존 관계에 대한 생성자 주입 선호
__스프링 프로젝트의 의존 관계 버전 관리
__단위 테스트 모범 사례
____비즈니스 레이어에 대한 테스트 작성
____웹 레이어에 대한 테스트 작성
____데이터 레이어에 대한 테스트 작성
____다른 애플리케이션 개발 모범 사례
__통합 테스트 모범 사례
____스프링 세션을 이용한 세션 관리
____레디스로 스프링 세션 구현
__캐싱 모범 사례
____spring-boot-starter-cache 의존 관계 추가
____캐싱 어노테이션 추가
__로깅 모범 사례
____로그백 프레임워크 사용
____log4j2
____프레임워크 독립 구성 제공
__요약

15장. 스프링에서 코틀린 개발
__기술적 요구사항
__코틀린
__코틀린 대 자바
____변수 생성 및 타입 유추
____변수의 불변성
____타입 시스템
____null 세이프
____코틀린의 함수 정의
____배열
____코틀린 컬렉션
____언체크된 예외 처리
____빈에 데이터 클래스 사용하기
__이클립스에서 코틀린 프로젝트 만들기
____코틀린 플러그인
____코틀린 프로젝트 생성
____코틀린 클래스 만들기
____코틀린 클래스 실행
__코틀린을 사용해 스프링 부트 프로젝트 생성
____pom.xml에 의존 관계 및 플러그인 추가
____스프링 부트 애플리케이션 클래스
____스프링 부트 애플리케이션 테스트 클래스
__코틀린을 이용한 REST 서비스 구현
____문자열을 반환하는 간단한 메소드
____객체를 반환하는 간단한 REST 메소드
____path 변수를 가진 GET 메소드
__요약

댓글목록0

등록된 댓글이 없습니다.
게시판 전체검색