▣ 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 O 퀴즈용 데이터베이스 생성 ___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 게임 기능 작성