성장의 계절, 모든 강의 30% 할인!

Thumbnail
진짜 시작, 봄맞이 30% 할인 중(D-8)
BEST
개발 · 프로그래밍 백엔드

실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발 대시보드

(5)
1,883개의 수강평 ∙  21,384명의 수강생

30%

61,600원

88,000원
지식공유자: 김영한
총 36개 수업 (7시간 44분)
수강기한: 
무제한
수료증: 발급
난이도: 
입문
-
초급
-
중급이상
지식공유자 답변이 제공되는 강의입니다
폴더에 추가 공유

초급자를 위해 준비한
[웹 개발, 백엔드] 강의입니다.

실무에 가까운 예제로, 스프링 부트와 JPA를 활용해서 웹 애플리케이션을 설계하고 개발합니다. 이 과정을 통해 스프링 부트와 JPA를 실무에서 어떻게 활용해야 하는지 이해할 수 있습니다.

✍️
이런 걸
배워요!
스프링 부트와 JPA를 활용해서 실무에서 자바 웹 애플리케이션을 개발할 수 있습니다.
스프링 부트와 JPA를 활용하는 최적의 방법을 이해합니다.
도메인 모델을 이해하고 설계할 수 있습니다.
도메인 주도 설계를 이해합니다.

스프링 부트, 실무에서 잘 쓰고 싶다면? 
깊이있는 설계와 개발을 경험해 보세요.

🚩 본 강의는 로드맵 과정입니다.

  • 본 강의는 자바 백엔드 개발의 실전 코스를 시작하는 첫 강의입니다. 스프링 부트와 JPA 실무 완전 정복 로드맵을 우선 확인해주세요. (링크)

실전! 스프링 부트와 JPA 활용

스프링 부트(Spring Boot)는 복잡하고 어려운 스프링 프레임워크를 간결하고, 쉽게 사용할 수 있게 도와줍니다. 여기에 JPA가 제공하는 강력한 ORM 기술을 더하면, 높은 생산성을 유지하면서 민첩하게 웹 애플리케이션을 개발할 수 있습니다. 이런 점들 때문에 자바 진영에서는 스프링 부트와 JPA를 활용해서 웹 애플리케이션을 개발하는 것이 세계적인 추세입니다.


강의 목표

스프링 부트와 JPA를 알고 있어도, 실무에서 이 기술들을 활용해서 웹 애플리케이션을 설계하고, 개발하는 것은 또 다른 차원의 문제입니다. 보통 웹 애플리케이션은 다음 개발 과정을 거칩니다.

일반적인 웹 애플리케이션 개발 과정

  • 요구사항 분석
  • 도메인과 테이블 설계
  • 아키텍처 구성
  • 핵심 비즈니스 로직 개발
  • 웹 계층 개발
  • 테스트
  • 성능 최적화

이 강의는 게시판 같은 단순한 예제를 넘어서, 실무의 복잡한 상황을 재현할 수 있는 난이도 있는 예제를 사용합니다. 그리고 요구사항 분석부터 설계, 개발, 테스트, 성능 최적화까지 이 모든 과정을 순서대로 진행합니다. 이렇게 실무에 가까운 예제로 웹 애플리케이션을 처음부터 끝까지 함께 설계하고 개발해보면, 이 과정 속에서 스프링 부트와 JPA를 활용하는 올바른 방법을 자연스럽게 익힐 수 있습니다. 그리고 실무에서 이 기술들을 어떻게 활용해야 하는지 이해하게 됩니다. 특히 실무에서 중요한 성능 최적화 방안도 단계적으로 배워서 적용할 수 있습니다.

전체 강의는 웹 애플리케이션을 설계하고 개발하는 1편과 API를 개발하고, 성능을 최적화하는 2편으로 구성되어 있습니다. 본 강의는 그 중 첫 번째에 해당하는 1편입니다.

👨‍💻 수강 전 참고해주세요!

  • 2편 API 개발과 성능 최적화는 별도의 강의로, 하단 [연관 강의]에 링크를 걸어두었습니다.

학습 과정

1편 - 웹 애플리케이션 개발

실무에 가까운 복잡한 예제, 처음부터 끝까지 코딩으로 완성!

1편은 회원, 상품, 주문 도메인이 있는 간단한 웹 애플리케이션을 설계하고 개발합니다.
진행 순서는 다음과 같습니다.

  • 프로젝트 환경설정: 프로젝트를 생성하고, 스프링 부트와 JPA, 뷰 템플릿인 타임리프, 롬복, 그리고 데이터베이스가 정상 동작하도록 프로젝트 환경을 구성합니다.
  • 도메인 분석 설계: 요구사항을 분석하고 도메인과 테이블을 설계합니다. 도메인과 테이블 설계가 끝나면 JPA를 활용해서 엔티티 클래스를 만들고, 엔티티 클래스와 테이블을 매핑합니다.
  • 도메인 개발: 회원, 상품, 주문 도메인의 핵심 비즈니스 로직을 개발하고, 테스트 케이스를 만들어서 검증합니다.
  • 웹 계층 개발: 구성한 도메인을 웹 환경에서 동작하도록 컨트롤러와 뷰 템플릿(타임리프)을 개발합니다. 실제 동작하는 화면을 확인할 수 있습니다.

2편 - API 개발과 성능 최적화

최근에는 뷰 템플릿을 사용해서 직접 서버에서 HTML을 만들어서 응답하기 보다는, API에 JSON 데이터를 실어서 반환하는 경우가 많습니다. 스프링 부트와 JPA를 사용해서 API를 개발할 때 주의할 점과 올바른 설계 방향을 이해하고, 성능까지 고려해서 API를 완성하는 것이 이번 편의 목표입니다.

2편은 1편에서 만든 도메인을 기반으로 외부에서 사용할 수 있는 REST API를 개발합니다. 그리고 단계적으로 조회용 API의 성능을 최적화 합니다. 이 과정을 통해 실무에서 꼭 필요한 JPA의 조회 쿼리 튜닝과 관련된 부분을 속 시원하게 풀어드립니다.

  • API 개발 기본: 기본적은 등록, 수정, 조회용 REST API를 개발합니다.
  • API 개발 고급: 실무에서 JPA로 조회용 API를 개발할 때, 주의점과 올바른 설계 방향을 알려드립니다. JPA 지연 로딩 이슈를 해결하고, 단계별로 다양한 성능 최적화 방안을 설명합니다.
  • 실무 필수 최적화: 스프링 부트와 JPA를 사용할 때 주의해서 사용하지 않으면 실무에서 장애로 이어질 수 있는 내용들을 다룹니다.

학습 방법

이 강의는 대부분 실습으로 이루어져 있습니다. 따라서 처음부터 끝까지 본인이 직접 코딩을 하면서 강의를 따라가야 가장 많은 것을 얻을 수 있습니다.

참고로 이 강의는 스프링 부트나 JPA 자체는 자세히 설명하지 않습니다. 이 기술들을 어느 정도 아는 분들이 이 기술들을 최대한 잘 활용할 수 있게, 그래서 실무에서 웹 애플리케이션을 잘 만들 수 있도록 도와드리는 것이 목표입니다. 따라서 기본적으로 스프링이나 JPA에 대한 이해가 있는 상태에서 이 강의를 듣는 것을 권장합니다. 하지만 스프링이나 JPA를 아직 잘 몰라도, 끝까지 따라하면 자바로 웹 애플리케이션을 어떻게 개발하고 완성하는지 전체적인 감을 잡을 수 있습니다. 이후 본인이 부족하다고 생각하는 기반기술을 채워가는 식으로 학습하셔도 됩니다.


연관 강의

기본편

자바 ORM 표준 JPA 프로그래밍 - 기본편
JPA 기반 기술을 이해하는데 필요한 선수 강의입니다.

활용편

실전! 스프링부트와 JPA 활용2 - API 개발과 성능 최적화
API를 개발하고, JPA 성능 최적화를 이해합니다.

실전! 스프링 데이터 JPA
기초부터 실무까지 스프링 JPA를 학습합니다.

실전! Querydsl
Querydsl을 통해 복잡한 쿼리와 동적 쿼리 문제를 해결합니다.

참고 도서

책은 더 깊은 내용을 공부하고 싶은 분들을 위한
참고서로 생각하시면 됩니다.
(책이 없어도 강의를 위한 별도의 자료가 제공됩니다.) 


이런 분들께 추천드려요!

🎓
학습 대상은
누구일까요?
실무에서 스프링 부트와 JPA를 사용하지만 해당 기술을 더 잘 활용하고 싶은 분
스프링 부트나 JPA 같은 기술은 들어봤지만 어떻게 활용하는 것이 좋은 방향인지 알고 싶은 분
스프링 부트와 JPA는 잘 모르지만 프로젝트 설정부터 실제 웹 애플리케이션 개발까지 예제를 따라하면서 자바 웹 애플리케이션 개발의 감을 잡고 싶은 분
📚
선수 지식,
필요할까요?
JAVA 언어
스프링 프레임워크
관계형 데이터베이스 기초 지식
JPA

안녕하세요
김영한 입니다.
김영한의 썸네일
커리큘럼 총 36 개 ˙ 7시간 44분의 수업
이 강의는 영상, 수업 노트, 첨부 파일이 제공됩니다. 미리보기를 통해 콘텐츠를 확인해보세요.
섹션 0. 강좌 소개
강좌 소개 미리보기 05:59
수업 자료
강의 소스 코드
섹션 2. 도메인 분석 설계
요구사항 분석 04:08
도메인 모델과 테이블 설계 21:10
엔티티 클래스 개발1 30:03
엔티티 클래스 개발2 19:29
엔티티 설계시 주의점 27:33
섹션 3. 애플리케이션 구현 준비
구현 요구사항 04:02
애플리케이션 아키텍처 03:59
섹션 4. 회원 도메인 개발
회원 리포지토리 개발 08:39
회원 서비스 개발 18:27
회원 기능 테스트 25:21
섹션 5. 상품 도메인 개발
상품 엔티티 개발(비즈니스 로직 추가) 06:23
상품 리포지토리 개발 03:59
상품 서비스 개발 02:25
섹션 6. 주문 도메인 개발
주문, 주문상품 엔티티 개발 16:24
주문 리포지토리 개발 02:06
주문 서비스 개발 19:48
주문 기능 테스트 19:59
주문 검색 기능 개발 21:16
섹션 7. 웹 계층 개발
홈 화면과 레이아웃 18:11
회원 등록 23:07
회원 목록 조회 09:52
상품 등록 07:48
상품 목록 02:47
상품 수정 13:44
변경 감지와 병합(merge) 26:36
상품 주문 12:33
주문 목록 검색, 취소 13:31
다음으로 00:55
강의 게시일 : 2019년 09월 24일 (마지막 업데이트일 : 2023년 12월 04일)
수강평 총 1,883개
수강생분들이 직접 작성하신 수강평입니다.
5
1,883개의 수강평
5점
4점
3점
2점
1점
VIEW 추천 순 최신 순 높은 평점 순 낮은 평점 순 평점 순 높은 평점 순 낮은 평점 순
unialto thumbnail
5
"나도 스프링부트+JPA로 개발할 수 있다."가 되네요! 실전 위주에 마치 지방에서 올라온? 아는 형이 바로 옆에서 같이 개발하면서 가르쳐 주는것 같아서 아주 좋았습니다. "백문이 불여일타!"
2019-09-26
지식공유자 김영한
unialto님 감사합니다. 서울말 패치를 몇번 시도했는데 실패해서 롤백되었습니다. ㅋㅋ 궁금한 내용이 있으면 언제든 편하게 질문주세요^^
2019-09-26
강프로그래머 thumbnail
5
Spring Framework Mybatis 6개월 국비학원을 수료하고 Spring FrameBoot JPA 사용하는 회사에 입사하였습니다 처음에 구글로 CRUD를 검색해서 수박 겉햝기로 공부하였는데 엄청 헤매고 힘들었던 것 같습니다 그래서 만약 제가 이 인강을 먼저 알았더라면 정말 좋았겠구나 라고 생각이드네요 JPA를 입문하시는분들에게 이제까지 본 인강중에 최고인 것 같습니다 1. 내용이 알차다 2. 설명이 디테일하다. 이 인강 2번 더 돌려보고 소스파악되면 책구매해서 기초편도 겟할 예정 좋은 강의 올려주셔서 감사합니다
2019-11-08
지식공유자 김영한
강프로그래머님 극찬을 해주셔서 감사합니다^^ 정말 열정이 대단하신 분이시네요. 질문과 답변에도 잘 안되는 부분을 풀어서, 다른 분들께 도움이 되게 쉽게 설명해주셔서 고맙습니다. 중간에 궁금하신 내용은 언제든지 편하게 질문주세요^^!
2019-11-08
2010psw thumbnail
5
무슨내용을 설명하는거야 라고 생각할때마다 나오는 부연설명에 매순간 이해가 되는 강의 TMI같지만 모든것이 복선이었던 치밀한 강의 매번 설명을 들을때마다 다음 강의가 기대되는 강의 퇴근하고 놀생각 대신 보고싶어지는 강의 초반에 책 홍보를 하실때는 ㅋㅋㅋㅋ 했지만 점점 책 내용이 궁금해지는 강의 영한님을 상속받을 수 있는(?) 강의 이 강의가 올라오고나서 인프런이 빨라졌다는 전설의 강의 흡입력있는 강의였습니다. 다음 강의 지르러갑니다 강의가 재미있긴 처음이네요 다른강의도 더 내주세요...얼른요ㅠㅠ
2020-11-19
지식공유자 김영한
크! 모든것이 복선이라니 들켰네요 ㅋㅋㅋㅋㅋ 강의 준비를 할 때 사실 나름 치밀하게? 구성합니다. ㅋㅋㅋ 다른 강의들도 열심히 준비할게요. 고맙습니다. 2010psw님^^
2020-11-20
OMG thumbnail
5
기본편에 이어 활용1편을 완강했습니다. "서울방언 실패!x" 와 커멘드 키 두번 누르는 명령어를 사용하여 복붙하는 과정에서 정렬이 되지 않았을 때 빵 터졌던 기억과 더불어 강의 내용이 참 알차다는 생각을 했습니다. 이제 다음 강의인 극한의 성능최적화 노하우를 전수 받아야 될 거같네요! 다음 후기에서 봬어요 !ㅎㅎ
2020-03-21
지식공유자 김영한
와~~ 이 수강평에 왜 이렇게 하트가 많지요 ㅋㅋ 저도 웃음이 나오는 즐거운 수강평 감사합니다 ㅋㅋ
2020-03-24
향로 thumbnail
5
실제로 하나의 서비스를 만들어가면서 좋은 백엔드 구조가 가져야할 여러 개념들을 차례로 배우기 좋은 강의라고 생각합니다 :) 스프링과 JPA를 공부 한 뒤 어떻게 프로젝트를 시작할지 망설인분들에게 추천드려요 :)
2022-11-10
지식공유자 김영한
향로님 고맙습니다^^ 응원합니다.
2022-11-11