스프링 프레임워크는 전 세계적으로 가장 널리 사용되는 오픈소스 자바 애플리케이션 프레임워크다. 이 책에서는 스프링 프레임워크를 처음 시작하는 분들을 위해 초보자의 눈높이에 맞춰 스프링 프레임워크를 설명한다. 풍부한 그림과 실습을 통해 스프링 프레임워크에 관한 사전 지식이 없더라도 쉽게 이해하고 스프링 웹 개발을 시작할 수 있도록 도와준다.
이 책은 최신 버전인 스프링 프레임워크 5.3을 기반으로, 스프링 프레임워크를 이해하기 위한 자바 기초, 스프링 프레임워크의 핵심 원리, 웹 애플리케이션 개발을 위한 웹 애플리케이션의 동작 원리, 데이터 조작 방법, 스프링 MVC를 활용한 웹 애플리케이션 개발 등을 설명하고, 실제 웹 애플리케이션을 직접 만들어 보면서 스프링 프레임워크 기반의 웹 애플리케이션 개발 프로세스를 익히도록 구성돼 있다.
Contents
▣01장: 스프링 프레임워크 알아보기
1-1 스프링 프레임워크 개요
─1-1-1 프레임워크란?
─1-1-2 스프링 프레임워크란?
1-2 개발 환경 준비(자바)
─1-2-1 JDK 설치
1-3 개발 환경 준비(IDE)
─1-3-1 IDE 설치
1-4 개발 환경 준비(PostgreSQL)
─1-4-1 PostgreSQL 설치
▣02장: 기초 지식 배우기
2-1 자바 기초 지식 복습
─2-1-1 인터페이스란?
─2-1-2 리스트란?
─2-1-3 리스트 프로그램 만들기
2-2 웹 애플리케이션 만들기의 필수 지식 확인
─2-2-1 클라이언트와 서버
─2-2-2 브라우저
─2-2-3 애플리케이션과 웹 애플리케이션
─2-2-4 웹 서버
─2-2-5 HTTP 통신(프로토콜)
─2-2-6 GET 메서드와 POST 메서드
2-3 개발에 사용하는 편리한 라이브러리와 도구
─2-3-1 Lombok이란?
─2-3-2 Gradle이란?
▣03장: 스프링 프레임워크의 핵심 기능 알아보기
3-1 스프링 프레임워크의 핵심 기능
─3-1-1 의존성 주입
─3-1-2 관점 지향 프로그래밍
3-2 DI 컨테이너 알아보기
─3-2-1 의존성
─3-2-2 클래스 의존
─3-2-3 인터페이스 의존
─3-2-4 인터페이스에 의존하는 프로그램 만들기
─3-2-5 DI 컨테이너
─3-2-6 다섯 가지 규칙
─3-2-7 DI 프로그램 만들기
─3-2-8 요약
3-3 어노테이션 역할 알아보기
─3-3-1 어노테이션을 세 가지 항목으로 설명
─3-3-2 레이어별로 사용할 인스턴스 생성 어노테이션
─3-3-3 커스텀 어노테이션
3-4 AOP(관점 지향 프로그래밍)의 기초 지식
─3-4-1 AOP 예제
─3-4-2 포인트컷 식
─3-4-3 AOP 프로그램 만들기
─3-4-4 스프링 프레임워크가 제공하는 AOP 기능
─3-4-5 요약
3-5 Spring Initializr 알아보기
─3-5-1 Spring Initializr의 URL
─3-5-2 Spring Initializr의 이점
─3-5-3 사용법
▣04장: 데이터베이스 작업
4-1 데이터베이스 생성
─4-1-1 데이터베이스란?
─4-1-2 관계형 데이터베이스란?
─4-1-3 PostgreSQL로 데이터베이스 확인
4-2 테이블 생성
─4-2-1 테이블이란?
─4-2-2 레코드와 칼럼
─4-2-3 pgAdmin 4로 테이블 생성
4-3 데이터 입력
─4-3-1 SQL이란?
─4-3-2 테이블에 데이터 입력
4-4 엔티티와 리포지토리 알아보기
─4-4-1 엔티티란?
─4-4-2 리포지토리란?
4-5 스프링 데이터 JDBC 사용해보기
─4-5-1 O/R 매퍼란?
─4-5-2 스프링 데이터 JDBC란?
─4-5-3 스프링 데이터 JDBC 프로그램 생성
▣05장: MVC 모델 알아보기
5-1 MVC 모델 알아보기
─5-1-1 MVC 모델이란?
─5-1-2 MVC 모델의 개요와 이점
5-2 스프링 MVC 알아보기
─5-2-1 스프링 MVC란?
─5-2-2 요청을 받고 응답을 보낼 때까지의 흐름
5-3 스프링 MVC 사용해보기
─5-3-1 스프링 MVC 프로그램 만들기
▣06장: 템플릿 엔진 알아보기
6-1 템플릿 엔진의 개요
─6-1-1 템플릿 엔진이란?
─6-1-2 타임리프란?
6-2 Model 인터페이스의 사용법
─6-2-1 Model 인터페이스란?
─6-2-2 기억해야 할 중요한 메서드
─6-2-3 Model을 사용하는 프로그램 만들기
6-3 타임리프 사용법
─6-3-1 타임리프 복습
─6-3-2 타임리프 사용법
6-4 타임리프를 사용해서 프로그램 만들기
─6-4-1 프로젝트 생성과 thymeleaf-layout-dialect의 설정
─6-4-2 컨트롤러와 뷰 생성
─6-4-3 직접 문자를 삽입하여 값 결합 만들기
─6-4-4 값 결합(리터럴 치환)에서의 비교와 등가
─6-4-5 조건 연산자를 이용한 조건 분기(false)
─6-4-6 switch에서 th:object 만들기
─6-4-7 리스트 반복하기
─6-4-8 반복 상태에서 유틸리티 객체 만들기
─6-4-9 다른 템플릿 포함시키기
─6-4-10 레이아웃 생성
─6-4-11 요약
▣07장: 요청 파라미터 취득하기
7-1 요청 파라미터의 종류
─7-1-1 요청 파라미터란?
─7-1-2 요청 파라미터의 취득 방법
7-2 입력값을 받는 프로그램 만들기(@RequestParam)
─7-2-1 프로젝트 생성
─7-2-2 컨트롤러와 뷰 생성
7-3 입력값을 받는 프로그램 만들기(Form 클래스)
─7-3-1 Form 클래스 생성
7-4 URL에 포함된 값을 받는 프로그램 만들기
─7-4-1 프로젝트 생성
─7-4-2 컨트롤러와 뷰 생성
▣08장: 유효성 검사 기능 알아보기
8-1 유효성 검사의 종류
─8-1-1 유효성 검사란?
─8-1-2 단일 항목 검사란?
─8-1-3 커스텀 유효성 검사란?
8-2 단일 항목 검사를 사용하는 프로그램 만들기
─8-2-1 프로젝트 생성
─8-2-2 애플리케이션 레이어 생성
8-3 메시지 관리에 대해 알아보기
─8-3-1 일반적인 메시지 관리
─8-3-2 스프링 부트에서 메시지 관리하기
8-4 커스텀 유효성 검사기를 사용하는 프로그램 만들기
─8-4-1 커스텀 유효성 검사기 생성
─8-4-2 컨트롤러에 커스텀 유효성 검사기 등록
▣09장: 애플리케이션 만들기
9-1 애플리케이션 설명
─9-1-1 기능 목록
─9-1-2 예제 애플리케이션의 레이어
─9-1-3 레이어별 컴포넌트 설명
─9-1-4 생성할 컴포넌트 목록
9-2 OX 퀴즈용 데이터베이스 생성
─9-2-1 데이터베이스 생성
─9-2-2 테이블 생성
─9-2-3 프로젝트 생성
▣10장: 애플리케이션 만들기
10-1 애플리케이션 만들기(데이터베이스 조작)
─10-1-1 작성할 내용 확인
─10-1-2 application.properties 설정
10-2 데이터베이스 처리
─10-2-1 도메인 객체 생성
─10-2-2 Repository 생성
─10-2-3 RepositoryImpl 생성
10-3 데이터베이스 처리 결과 확인
─10-3-1 등록 처리
─10-3-2 모든 데이터 취득
─10-3-3 한 건 데이터 취득
─10-3-4 변경 처리
─10-3-5 삭제 처리
▣11장: 애플리케이션 만들기(비즈니스 로직 처리)
11-1 비즈니스 로직의 처리 내용 확인과 작성
─11-1-1 작성할 부분 확인
─11-1-2 비즈니스 로직 처리 만들기
11-2 트랜잭션 관리 알아보기
─11-2-1 트랜잭션이란?
─11-2-2 트랜잭션 경계란?
─11-2-3 트랜잭션 관리 방법
─11-2-4 ServiceImpl 추가
11-3 비즈니스 로직 처리하기
─11-3-1 quiz 테이블의 초기화
─11-3-2 QuizApplication 수정
─11-3-3 등록/참조 처리
─11-3-4 갱신/삭제 처리
─11-3-5 퀴즈 처리
─11-3-6 QuizApplication 수정
▣12장: 애플리케이션 만들기(애플리케이션 레이어)
12-1 애플리케이션 레이어
─12-1-1 작성할 부분 확인
12-2 애플리케이션 레이어 만들기(목록 표시)
─12-2-1 Form 생성
─12-2-2 Controller 생성
─12-2-3 crud.html 생성
12-3 애플리케이션 레이어 만들기(등록/변경/삭제 기능)
─12-3-1 등록 기능 만들기
─12-3-2 변경 기능 만들기
─12-3-3 삭제 기능 만들기
12-4 애플리케이션 레이어 만들기(게임 기능)
─12-4-1 play.html 생성
─12-4-2 answer.html 생성
─12-4-3 게임 기능 작성
Author
주식회사 후루네스 키노시타 마사아키,전민수
대학 졸업 후 IT 벤처기업에 입사해서 다양한 현장에서 요구사항 정의, 설계, 구현, 테스트, 납품 및 유지보수까지 모든 공정을 경험했습니다. SES, 자사 패키지의 개발 경험 후 대형 식품회사의 통신판매부에서 시스템 담당자로 업체 관리를 담당했습니다. 통신판매부의 사업을 정리하는 것을 계기로 주식회사 후루네스에 입사해서 현재는 IT 교육을 담당하고 있습니다.
대학 졸업 후 IT 벤처기업에 입사해서 다양한 현장에서 요구사항 정의, 설계, 구현, 테스트, 납품 및 유지보수까지 모든 공정을 경험했습니다. SES, 자사 패키지의 개발 경험 후 대형 식품회사의 통신판매부에서 시스템 담당자로 업체 관리를 담당했습니다. 통신판매부의 사업을 정리하는 것을 계기로 주식회사 후루네스에 입사해서 현재는 IT 교육을 담당하고 있습니다.