이미지 검색을 사용해 보세요
검색창 이전화면 이전화면
최근 검색어
인기 검색어

소득공제 청년패스
자바 스프링 프레임워크와 스프링 부트 - 원리부터 실전까지
허진경
BOOKK(부크크) 2023.01.19.
가격
41,000
41,000
YES포인트?
0원
5만원 이상 구매 시 2천원 추가 적립
결제혜택
카드/간편결제 혜택을 확인하세요
  • 본 도서의 개정판이 출간되었습니다.

이미 소장하고 있다면 판매해 보세요.

  •  국내배송만 가능
  •  문화비소득공제 가능

이 상품의 태그

책소개

목차

1장. 스프링 프레임워크

1. 스프링 프레임워크 개요
1.1. 개요
1.2. 장점
1.3. 주요 구성요소
1.4. 특징
2. 의존성 주입 개요
2.1. 의존성 주입을 사용하지 않는 코드
2.2. 의존성 주입을 사용한 코드
3. 스프링의 의존성 주입
3.1. XML을 이용한 의존성 주입
3.2. 아노테이션을 이용한 의존성 주입
3.3. 자바 설정파일을 이용한 의존성 주입
3.4. 빈 생성과 의존성 주입 비교
4. 빈(Bean) 설정 파일
4.1. 네임스페이스 추가
4.2. 스프링 설정 파일 나누기
4.3. 〈import〉 태그를 이용한 다른 빈 설정 파일 포함
4.4. 여러 개 설정 파일 지정
2장. Spring AOP
1. AOP 개요
1.1. AOP와 횡단 관점
1.2. 프락시 클래스를 이용한 AOP 구현
1.3. AOP 용어
1.4. 위빙 방법
1.5. Spring에서 AOP

2장 XML을 이용한 AOP

2.1. AOP 라이브러리 의존성 추가
2.2. 네임스페이스 추가
2.3. AOP 설정
2.4. 어드바이스
2.5. 〈aop:advisor〉
2.6. 핵심코드의 메서드 원형 사용하기
2.7. Pointcut 표현식
3. Annotation을 이용한 AOP
3.1. AOP 라이브러리 의존성 추가
3.2. AOP 아노테이션 사용 설정
3.3. AOP 아노테이션
3.4. 어드바이스
3.5. 예제 코드

3장. Spring JDBC

1. Spring JDBC 개요
1.1. Java SE의 JDBC API를 이용한 코드
1.2. Spring JDBC를 이용한 코드
2. Spring JDBC 설정
2.1. Spring JDBC 의존성 추가
2.2. JDBC 드라이버 클래스 의존성 추가
2.3. 데이터베이스 연결정보 설정
2.4. JDBCTemplate 빈 설정
2.5. JDBCTemplate API
3. EMPLOYEES 테이블 관리하기 예제
3.1. Class Diagram
3.2. 메이븐 의존성 설정
3.3. 스프링 설정 파일
3.4. Value Object 클래스
3.5. DAO 클래스
3.6. Service 클래스
3.7. main 클래스
3.8. 실행 결과
4. 트랜잭션 처리
4.1. 트랜잭션 설정
4.2. XML을 이용한 트랜잭션 설정
4.3. 아노테이션을 이용한 트랜잭션 설정

4장. Spring Web MVC

1. MVC 패턴
1.1. Servlet을 이용한 MVC 구현
1.2. 커맨드 패턴 기반의 코드
1.3. 커맨드 패턴을 이용한 명령어 처리기 분리
1.4. 설정 파일을 이용한 요청과 핸들러 클래스 관계 설정
2. Spring Web MVC
2.1. Spring Web MVC Framework
2.2. DispatcherServlet
2.3. 스프링 설정 파일 위치
2.4. web.xml 파일
2.5. 컨트롤러와 뷰
3. 컨트롤러와 요청 처리
3.1. 스프링 컨트롤러
3.2. URL 매핑
3.3. 요청 방식에 따른 처리
3.4. 다중 요청 처리
3.5. 요청 파라미터 받기
3.6. Path Variable & URI Template Variable
3.7. 컨트롤러 메서드의 파라미터 타입
3.8. Static 파일(CSS, JS, IMAGE) 설정
3.9. 예외처리
3.10. 인터셉터
4. 모델과 뷰
4.1. 컨트롤러 메서드의 리턴 타입
4.2. 뷰
4.3. JSON 형식 응답
4.4. 리다이렉트 처리
4.5. RedirectAttributes
4.6. 뷰 컨트롤러
5. EL과 JSTL
5.1. EL(Expression Language)
5.2. JSTL(JSP Standard Tag Library)
6. EMPLOYEES 데이터 관리 MVC 프로젝트
6.1. RequestMappings
6.2. 설정 파일
6.3. 컨트롤러와 뷰

5장. 파일 업로드/다운로드

1. 파일 업로드
1.1. 설정 파일
1.2. 데이터베이스 테이블과 Value Object
1.3. HTML 폼 태그
1.4. 컨트롤러와 멀티파트
2. 파일 다운로드
2.1. 핸들러 메서드의 리턴 객체
3. 데이터베이스를 이용한 파일관리
3.1. 환경 설정
3.2. 비즈니스 로직
3.3. 컨트롤러와 뷰
3.4. 실행 결과
3.5. JVM 메모리 설정

6장. MyBatis

1. MyBatis 개요
2. MyBatis 연동 설정
2.1. 라이브러리 의존성 추가
2.2. 스프링 설정 파일
2.3. 인터페이스와 Mapper XML 파일
3. Mapper XML
3.1. SQL Map
3.2. select
3.3. insert, update, delete
3.4. Parameters
3.5. SELECT 결과 매핑
4. 구현 코드
4.1. 설정 파일
4.2. Model
4.3. DAO 인터페이스
4.4. Mapper XML
4.5. 서비스
4.6. 컨트롤러
4.7. 뷰
4.8. 실행 결과
5. 동적 SQL
5.1. if
5.2. choose, when, otherwise
5.3. where
5.4. set
5.5. trim
5.6. foreach

7장. 멀티 게시판 만들기

1. 멀티 게시판 분석
1.1. 요구사항 분석
1.2. 개발 환경
1.3. 테이블 명세서
1.4. 테이블 생성문
2. 프로젝트 구조
2.1. 프로젝트 생성
2.2. 요청 매핑 URL
2.3. 프로젝트 구조
3. 설정 파일
3.1. pom.xml
3.2. web.xml
3.3. root-context.xml
3.4. servlet-context.xml
3.5. 프로젝트 실행해 보기
4. 멀티 게시판 소스코드
4.1. 리소스 파일
4.2. Value Object
4.3. DAO
4.4. Service
4.5. 설정 파일 수정
4.6. Controller
4.7. 뷰(JSP)
5. 회원관리 기능 추가
5.1. 테이블 생성문
5.2. Value Object
5.3. DAO
5.4. Service
5.5. Controller
5.6. 뷰(JSP)
5.7. 인터셉터를 이용한 게시판 기능 제한
6. XSS 공격 대응
6.1. XSS 개요
6.2. Maven 의존성 추가
6.3. BoardController에 코드 추가
6.4. 적용 결과

8장. 스프링 부트 프로젝트

1. 스프링 부트
2. 스프링 부트 프로젝트 만들기
2.1. 스프링 스타터 프로젝트
2.2. 프로젝트 의존성 선택
3. 스프링 부트 애플리케이션 실행하기
3.1. 프로젝트 구조
3.2. 스프링 설정 파일
3.3. 컨트롤러 추가하기
3.4. 뷰 작성하기
3.5. 실행
3.6. DemoApplication과 ServletInitializer
3.7. 스프링 부트 vs. 스프링 프레임워크
4. 스프링 부트 멀티 게시판
4.1. 스프링 부트를 이용한 게시판 프로젝트
4.2. 설정 파일
4.3. 뷰를 JSP에서 Thymeleaf로 바꾸기
4.4. 수정된 타임리프 뷰 파일 - 게시판
4.5. 태그 파일을 include 파일로 변환하기
4.6. 수정된 BoardController
4.7. 수정된 타임리프 뷰 파일 - 회원
4.8. 폼 입력값 검증
4.9. 로그인 인터셉터

부록 1. 개발 환경 구성하기
1. 개발 환경 구성
1.1. 스프링 프로젝트를 위한 개발환경
1.2. Tomcat 설치
1.3. Oracle 데이터베이스 설치 - 21C Express Edition
1.4. Oracle 데이터베이스 설치 - 18C Express Edition
2. 스프링 프로젝트 만들기
2.1. Spring MVC Project
2.2. 프로젝트 자바 버전 변경
2.3. Spring 버전 변경
2.4. Update Project…(Alt+F5)
3. 로그 관리
3.1. 자바 로그 관리 프레임워크
3.2. SLF4J
3.3. 로그 남기기
3.4. 로그 레벨
3.5. Appender 패턴
3.6. 스프링 부트의 로그 관리

부록 2. 프로젝트 버전관리
1. 버전관리 시스템
1.1. 버전관리 도구
1.2. 버전관리 방법
1.3. Git
2. 깃허브에 프로젝트 관리하기
2.1. 깃허브(Github)
2.2. 이클립스에서 깃허브(Github) 저장소 사용하기
2.3. 프로젝트 게시하기
2.4. Git Repository에서 프로젝트 가져오기
2.5. Git 프로젝트 관리
2.6. 변경 이력 확인 및 이전 버전 가져오기

부록 3. 알아두면 쓸모 있는 기술들
1. JDBC 연결정보 암호화
1.1. 개발 보안 취약점
1.2. Jasypt 라이브러리
1.3. 연결정보 인코딩
1.4. 연결정보 설정 파일에 ENC() 함수 사용
1.5. 스프링 설정파일
2. 폼 입력값 유효성 검증
2.1. 폼 객체
2.2. 데이터 저장 처리 흐름
2.3. 입력 값 검증 방법
2.4. 아노테이션을 이용한 폼 입력값 검증
2.5. 스프링 폼 태그
2.6. Validator 인터페이스를 이용한 입력값 검증
2.7. JSR 303 Validator와 Spring Validator 동시 사용
2.8. 다국어 메시지 처리
3. 비동기 요청 처리
3.1. 비동기 요청 처리 구조
3.2. jQuery를 이용한 비동기 요청 구현
3.3. POST 방식 비동기 요청 처리
4. 웹소켓과 서버 푸시
4.1. 웹소켓
4.2. 웹소켓을 이용한 톰캣 메모리 모니터링
4.3. Server-Sent Events
4.4. SSE를 이용한 톰캣 메모리 모니터링

저자 소개 1

허진경은 인공지능과 소프트웨어 시스템을 중심으로 연구와 교육을 수행하고 있다. 정부 주도의 AI 연구 과제와 산업 연계 프로젝트를 다수 수행해 왔으며, 생성형 AI를 실제 서비스 환경에 통합하는 시스템 설계와 아키텍처에 관심을 두고 있다.   또한 대학 강의와 함께 대기업·공공기관·직업훈련기관을 대상으로 한 AI 및 머신러닝 실무 교육을 진행하며, 개발자와 교육자를 위한 실전 중심의 커리큘럼을 지속적으로 개발하고 있다. 특히 Spring Boot 기반 애플리케이션과 FastAPI, 객체 탐지, 실시간 메시징, 생성형 AI를 결합한 통합 시스템 설계 경험을 바탕으로, AI를 단
허진경은 인공지능과 소프트웨어 시스템을 중심으로 연구와 교육을 수행하고 있다. 정부 주도의 AI 연구 과제와 산업 연계 프로젝트를 다수 수행해 왔으며, 생성형 AI를 실제 서비스 환경에 통합하는 시스템 설계와 아키텍처에 관심을 두고 있다.
 
또한 대학 강의와 함께 대기업·공공기관·직업훈련기관을 대상으로 한 AI 및 머신러닝 실무 교육을 진행하며, 개발자와 교육자를 위한 실전 중심의 커리큘럼을 지속적으로 개발하고 있다. 특히 Spring Boot 기반 애플리케이션과 FastAPI, 객체 탐지, 실시간 메시징, 생성형 AI를 결합한 통합 시스템 설계 경험을 바탕으로, AI를 단순한 기능이 아닌 시스템 구성 요소로 바라보는 관점을 강조한다.
 
『Spring Boot AI 시스템 설계 컨텍스트 중심 AI 애플리케이션 구축』에서는 FastAPI, 객체 탐지, MQTT, Spring AI, Tool Calling, RAG, MCP까지 이어지는 실전 사례를 통해, AI 모델과 애플리케이션을 분리하고 컨텍스트 중심으로 확장 가능한 AI 시스템을 설계하는 방법을 제시한다. 저자는 이 책이 Spring Boot 개발자를 비롯해 AI를 실제 서비스에 적용하려는 개발자, 연구자, 교육자에게 실질적인 기준점이 되기를 기대한다.

허진경의 다른 상품

관련 분류

품목정보

발행일
2023년 01월 19일
쪽수, 무게, 크기
600쪽 | 188*254*35mm
ISBN13
9791141012304

출판사 리뷰

이 책은 자바 개발자가 스프링 프레임워크를 이용해서 시스템을 구축하기 위한 스프링 프레임워크 및 부트 프레임워크의 필수 내용을 원리와 함께 실전 코드까지 설명하고 있습니다. 뷰 페이지를 작성하기 위해 스프링 프레임워크 프로젝트에는 JSP를 사용했으며, 스프링 부트 프로젝트에는 타임리프(Thymeleaf) 뷰 탬플릿을 사용했습니다.

이 책의 주요 내용은 다음과 같습니다. 1장은 스프링의 개념 및 스프링에서 가장 중요한 빈(Bean) 생성 및 관리와 의존성 주입에 관한 내용입니다. 반드시 숙지해야 이후 내용을 이해할 수 있습니다. 2장은 관점지향 프로그래밍(AOP)에 대한 내용입니다. 이 장은 AOP 관련 용어를 외우고 시작해야 합니다. 그리고 이 장을 이해해야 트랜잭션 처리를 할 수 있습니다. 3장은 데이터베이스 프로그래밍에 관한 내용입니다. Spring JDBC를 이용하여 데이터 프로그래밍하는 방법을 배웁니다.

4장은 웹 애플리케이션을 개발하기 위해 사용하는 스프링 웹 MVC 프레임워크에 관한 내용입니다. 가장 길고 내용이 많습니다. 웹 개발을 위해 반드시 알아야 하는 내용입니다. 5장은 업로드한 파일을 데이터베이스에 저장하고, 데이터베이스에 저장한 파일 데이터를 다운로드할 수 있는 방법을 설명했습니다. 6장은 스프링에서 마이바티스 프레임워크를 이용하여 데이터베이스 프로그래밍하는 방법에 대하여 설명했습니다.

7장은 지금까지 배운 내용을 기반으로 데이터베이스를 이용해서 파일을 첨부하고 댓글을 달 수 있으며, 회원 관리 기능이 있는 멀티 게시판 프로젝트를 설명합니다. 8장은 스프링 부트를 이용한 프로젝트를 설명하고 7장의 스프링 프레임워크 프로젝트를 스프링 부트와 타임리프를 사용한 프로젝트로 변경하는 방법을 설명합니다. 부록 1은 스프링을 이용하여 개발하기 위한 개발 환경설정에 관한 내용입니다. 부록 2는 깃허브를 이용한 버전 관리에 관해 설명합니다. 부록 3은 JDBC 연결정보 암호화 및 폼 입력값 검증, 비동기 요청 처리 등 알아두면 쓸모 있는 몇 가지 기술들을 설명했습니다.

Github : https://github.com/hjk7902/spring
홈페이지 : http://www.javaspecialist.co.kr

리뷰/한줄평3

리뷰

6.0 리뷰 총점

한줄평

5.0 한줄평 총점

클린봇이 부적절한 글을 감지 중입니다.

설정