스크랩

구간

코드로 배우는 스프링 웹 프로젝트 [개정판] 현업 개발을 위한 단계별 실습서

구멍가게 코딩단 저 | 남가람북스 | 2018년 09월

북트리

정가
$76.00
판매가
$61.56 (19%↓) 최저가 보상
적립금
$1.23 (2%P)
출고예상일
2026년 10월 08일 수령예상일 안내
북카트 담기 바로구매하기 위시리스트담기

평점 -  ·  리뷰 0

리뷰 쓰기

ISBN : 9791189184018 / 760쪽 182 x 232 (㎜)

이 상품에 궁금하신점이 있으세요? 1:1상담문의

추천inside
Adobe Flash Player 가져오기

이 분야의 베스트셀러

아래의 도서와 구매하시면 이 도서들의 적립금을 즉시적용해 드립니다.

책 소개

반디앤루니스 리뷰

이 책은 Spring Framework(이하 스프링)를 사용해서 말 그대로 ‘웹 프로젝트’를 어떻게 진행하는지를 설명하는 책입니다. 웹 프로젝트라고 거창하게 표현하지만, 좀 더 구체적으로는 스프링으로 웹 프로젝트에서 사용되는 게시물 관리를 만들어 보는 것이 주된 목적입니다. 모든 웹 프로젝트는 그 성격에 따라 구성과 구조가 다르기는 하지만 결과적으로는 게시물 관리 모듈의 집합체라고 볼 수 있습니다. 이 책에서는 웹 프로젝트에 사용되는 게시물을 다음과 같은 예제들로 작성합니다.

* 데이터베이스를 활용해서 기본적인 등록, 수정, 삭제, 조회 기능을 구현
* 웹 화면에서 페이징 처리와 검색 처리
* 다양한 종류의 첨부파일을 웹에 게시
* Ajax를 이용하는 데이터 처리
* 쿠키나 세션 등을 이용한 로그인/로그아웃 인증 처리

[이 책의 대상 독자]
스프링으로 웹 프로젝트를 진행하기 위해서는 다음과 같은 선행학습이 필요합니다.
* Java 언어에 관한 기본 지식
* Servlet/JSP에 관한 기본 지식 및 실습 경험 - 모델1, 모델2에 대한 기본적인 개념이 필요합니다.
* HTML/JavaScript/CSS에 관한 기본 지식 - jQuery 등을 다뤄본 경험이 있다는 것을 전제로 예제를 작성합니다.
* SQL에 관한 기본 지식 - 오라클 데이터베이스를 이용해 본 경험이 있고, 사용자 생성이나 테이블, 시퀀스 등의 경험이 필요합니다.

이 책은 다음과 같은 개발자를 대상으로 합니다.
* 스프링 프레임워크를 사용해서 자신만의 경험을 쌓으려는 초급 개발자
* 웹 개발 지식과 경험은 있지만, 스프링을 이용한 예제를 작성하는데 어려움을 느끼는 초급 개발자
* 최근에 변화된 스프링을 이용해서 개발하고 싶은 개발자
* 웹 프로젝트를 진행하면서 어떤 개발 단계를 거쳐야 하는지 알고 싶은 개발자

[개정판에서 달라진 점]
개정판에서는 다음과 같은 점들이 달라지게 되었습니다.
* 스프링의 버전은 5.x 버전을 사용하고, 개발도구는 Spring Tool Suite(이하 STS) 혹은 Eclipse와 Maven으로 작성합니다.
* 기존에 사용하던 XML과 Java Configuration(이하 Java 설정)과 어노테이션 기반의 설정을 이용합니다.
- 최근 스프링 관련 예제나 프로젝트에서 XML 대신에 Java 설정을 이용할 때가 점점 증가하고 있으므로 이를 반영합니다.
* 데이터베이스는 기존의 MySQL이 아닌 Oracle Database 11g Express Edition 버전을 사용합니다.
* 스프링 시큐리티(Spring Security)를 추가해서 로그인 부분을 처리합니다.
* Lombok 라이브러리를 활용해서 Getter/Setter 등의 코드를 줄여서 최소한의 코드로 프로젝트를 작성합니다.
* MyBatis의 Mapper 인터페이스와 XML을 활용합니다. 기존의 DAO를 이용하던 개발 방식을 개선해서 더 적은 양의 코드로 개발을 할 수 있습니다.

출판사 리뷰

이 책은 Spring Framework(이하 스프링)를 사용해서 말 그대로 ‘웹 프로젝트’를 어떻게 진행하는지를 설명하는 책입니다. 웹 프로젝트라고 거창하게 표현하지만, 좀 더 구체적으로는 스프링으로 웹 프로젝트에서 사용되는 게시물 관리를 만들어 보는 것이 주된 목적입니다. 모든 웹 프로젝트는 그 성격에 따라 구성과 구조가 다르기는 하지만 결과적으로는 게시물 관리 모듈의 집합체라고 볼 수 있습니다. 이 책에서는 웹 프로젝트에 사용되는 게시물을 다음과 같은 예제들로 작성합니다.

* 데이터베이스를 활용해서 기본적인 등록, 수정, 삭제, 조회 기능을 구현
* 웹 화면에서 페이징 처리와 검색 처리
* 다양한 종류의 첨부파일을 웹에 게시
* Ajax를 이용하는 데이터 처리
* 쿠키나 세션 등을 이용한 로그인/로그아웃 인증 처리

[이 책의 대상 독자]
스프링으로 웹 프로젝트를 진행하기 위해서는 다음과 같은 선행학습이 필요합니다.
* Java 언어에 관한 기본 지식
* Servlet/JSP에 관한 기본 지식 및 실습 경험 - 모델1, 모델2에 대한 기본적인 개념이 필요합니다.
* HTML/JavaScript/CSS에 관한 기본 지식 - jQuery 등을 다뤄본 경험이 있다는 것을 전제로 예제를 작성합니다.
* SQL에 관한 기본 지식 - 오라클 데이터베이스를 이용해 본 경험이 있고, 사용자 생성이나 테이블, 시퀀스 등의 경험이 필요합니다.

이 책은 다음과 같은 개발자를 대상으로 합니다.
* 스프링 프레임워크를 사용해서 자신만의 경험을 쌓으려는 초급 개발자
* 웹 개발 지식과 경험은 있지만, 스프링을 이용한 예제를 작성하는데 어려움을 느끼는 초급 개발자
* 최근에 변화된 스프링을 이용해서 개발하고 싶은 개발자
* 웹 프로젝트를 진행하면서 어떤 개발 단계를 거쳐야 하는지 알고 싶은 개발자

[개정판에서 달라진 점]
개정판에서는 다음과 같은 점들이 달라지게 되었습니다.
* 스프링의 버전은 5.x 버전을 사용하고, 개발도구는 Spring Tool Suite(이하 STS) 혹은 Eclipse와 Maven으로 작성합니다.
* 기존에 사용하던 XML과 Java Configuration(이하 Java 설정)과 어노테이션 기반의 설정을 이용합니다.
- 최근 스프링 관련 예제나 프로젝트에서 XML 대신에 Java 설정을 이용할 때가 점점 증가하고 있으므로 이를 반영합니다.
* 데이터베이스는 기존의 MySQL이 아닌 Oracle Database 11g Express Edition 버전을 사용합니다.
* 스프링 시큐리티(Spring Security)를 추가해서 로그인 부분을 처리합니다.
* Lombok 라이브러리를 활용해서 Getter/Setter 등의 코드를 줄여서 최소한의 코드로 프로젝트를 작성합니다.
* MyBatis의 Mapper 인터페이스와 XML을 활용합니다. 기존의 DAO를 이용하던 개발 방식을 개선해서 더 적은 양의 코드로 개발을 할 수 있습니다.


현재까지 출간된 스프링 관련 많은 서적들은 주로 스프링의 내부 구조나 원리 등 이론적인 배경에 초점을 두었지만, 이 책은 실무 개발에서 사용하는 도구로서 스프링을 다루고 있습니다. 이 책에서 바라보는 스프링은 다음과 같은 의미가 있습니다.

* 스프링은 이 책의 예제를 만드는 하나의 도구로 사용합니다. 스프링 프레임워크는 다양한 이론과 쓰임새가 있지만, 이 책에서는 하나의 웹 프로젝트를 목표로 두고 이를 완성해 가는 과정을 상세히 설명합니다. 이러한 과정을 통해서 필요한 최소한의 이론과 사용법을 익히게 됩니다.

* 웹 개발자가 스프링을 이용할 때 이를 사용하는 순서에 초점을 둡니다. 스프링은 초기의 설정이 어렵게 다가오기 때문에 각 단계를 진행할 때 어떤 방식으로 테스트를 하고, 어떤 단계를 확인해야 하는지에 중점을 둡니다.

[이 책의 구성과 활용방법]
이 책의 구성은 크게 다음과 같습니다.
PART 1: 스프링 개발 환경 구축
PART 2: 스프링 MVC 설정
PART 3: 기본적인 웹 게시물 관리
PART 4: REST 방식과 Ajax를 이용하는 댓글 처리
PART 5: AOP와 트랜잭션
PART 6: 파일 업로드 처리
PART 7: Spring Web Security를 이용한 로그인 처리

PART 1에서는 스프링을 공부하는 데 필요한 기본적인 지식을 간단하게 소개합니다. 스프링으로 웹 프로젝트를 진행할 때는 단순히 스프링만 사용하는 것이 아니기 때문에 그와 관련된 기반 지식을 함께 공부할 필요가 있습니다. 이 책의 예제는 스프링과 MyBatis, Oracle을 사용해서 프로젝트를 진행하고, 프로젝트 생성은 STS로 생성합니다.
PART 2부터는 각 장의 목표에 맞게 단계별로 개발의 목표와 과정을 설명합니다. 각 장은 개발 단계와 더불어 구현이 필요한 지식을 추가하는 형태로 구성하고 있습니다.

[소스 코드 다운로드 및 Q&A]
소스 코드 다운로드 및 Q&A는 구멍가게 코딩단 카페의 자료실에서 확인할 수 있습니다.

http://cafe.naver.com/gugucoding

저자 소개

프로그래밍을 좋아하지만, 남들 앞에 나설 용기가 없는 10년차 이상 개발자, 현업 관리자, 강사들의 비공개 모임. 어린 시절 구멍가게 앞 아저씨들이 인생의 진리를 가볍게 던졌던 것처럼 프로그래밍의 오의(奧義)를 가볍게 던지고 싶은 사람들의 모임. 
http://cafe.naver.com/gugucoding을 통해서 독자들과 커뮤니케이션을 하고 있으며, 스프링 외에도 여러 주제에 대한 자료를 제공하며, 저서로는 《코드로 배우는 스프링 웹 프로젝트》가 있음. 

책 속에서

목차

이 책을 내며...
코드로 배우는 스프링 웹 프로젝트 v2.0

Part 1 스프링 개발 환경 구축

1장 개발을 위한 준비
1.1 개발환경 설정
1.2 스프링 프로젝트 생성
1.3 Tomcat을 이용한 프로젝트 실행 확인
1.4 Lombok 라이브러리 설치
1.5 Java Configuration을 하는 경우

2장 스프링의 특징과 의존성 주입
2.1 스프링 프레임워크의 간략한 역사
2.2 의존성 주입 테스트
2.3 스프링이 동작하면서 생기는 일
2.4 스프링 4.3 이후 단일 생성자의 묵시적 자동주입

3장 스프링과 Oracle Database 연동
3.1 오라클 설치
3.2 SQL Developer 설치
3.3 프로젝트의 JDBC 연결
3.4 커넥션 풀 설정

4장 MyBatis와 스프링 연동
4.1 MyBatis
4.2 스프링과의 연동 처리
4.3 log4jdbc-log4j2 설정

Part 2 스프링 MVC 설정

5장 스프링 MVC의 기본 구조
5.1 스프링 MVC 프로젝트의 내부 구조
5.2 예제 프로젝트의 로딩 구조
5.3 스프링 MVC의 기본 사상
5.4 모델2와 스프링 MVC

6장 스프링 MVC의 Controller
6.1 @Controller, @RequestMapping
6.2 @RequestMapping의 변화
6.3 Controller의 파라미터 수집
6.4 Model이라는 데이터 전달자
6.5 Controller의 리턴 타입
6.6 Controller의 Exception 처리

Part 3 기본적인 웹 게시물 관리

7장 스프링 MVC 프로젝트의 기본 구성
7.1 각 영역의 Naming Convention(명명규칙)
7.2 프로젝트를 위한 요구 사항
7.3 예제 프로젝트 구성
7.4 데이터베이스 관련 설정 및 테스트
7.5 Java 설정을 이용하는 경우의 프로젝트 구성

8장 영속/비즈니스 계층의 CRUD 구현
8.1 영속 계층의 구현 준비
8.2 영속 영역의 CRUD 구현

9장 비즈니스 계층
9.1 비지니스 계층의 설정
9.2 비즈니스 계층의 구현과 테스트

10장 프레젠테이션(웹) 계층의 CRUD 구현
10.1 Controller의 작성
10.2 BoardController의 작성

11장 화면 처리
11.1 목록 페이지 작업과 includes
11.2 목록 화면 처리
11.3 등록 입력 페이지와 등록 처리
11.4 조회 페이지와 이동
11.5 게시물의 수정/삭제 처리

12장 오라클 데이터베이스 페이징 처리
12.1 order by의 문제
12.2 order by 보다는 인덱스
12.3 인덱스를 이용하는 정렬
12.4 ROWNUM과 인라인뷰

13장 MyBatis와 스프링에서 페이징 처리
13.1 MyBatis 처리와 테스트
13.2 BoardController와 BoardService 수정

14장 페이징 화면 처리
14.1 페이징 처리할 때 필요한 정보들
14.2 페이징 처리를 위한 클래스 설계
14.3 JSP에서 페이지 번호 출력
14.4 조회 페이지로 이동
14.5 수정과 삭제 처리
14.6 MyBatis에서 전체 데이터의 개수 처리

15장 검색 처리
15.1 검색 기능과 SQL
15.2 MyBatis의 동적 SQL
15.3 검색 조건 처리를 위한 Criteria의 변화
15.4 화면에서 검색 조건 처리

Part 4 REST 방식과 Ajax를 이용하는 댓글 처리

16장 REST 방식으로 전환
16.1 @RestController
16.2 @RestController의 반환 타입
16.3 @RestController에서 파라미터
16.4 REST 전송 방식
16.5 다양한 전송 방식

17장 Ajax 댓글 처리
17.1 프로젝트의 구성
17.2 댓글 처리를 위한 영속 영역
17.3 서비스 영역과 Controller 처리
17.4 JavaScript 준비
17.5 이벤트 처리와 HTML 처리
17.6 댓글의 페이징 처리
17.7 댓글 페이지의 화면 처리

Part 5 AOP와 트랜잭션

18장 AOP라는 패러다임
18.1 AOP 용어들
18.2 AOP 실습
18.3 AOP 설정
18.4 AOP 테스트
18.5 @Around와 ProceedingJoinPoint

19장 스프링에서 트랜잭션 관리
19.1 데이터베이스 설계와 트랜잭션
19.2 트랜잭션 설정 실습

20장 댓글과 댓글 수에 대한 처리
20.1 프로젝트수정

Part 6 파일 업로드 처리

21장 파일 업로드 방식
21.1 스프링의 첨부파일을 위한 설정
21.2

top