안녕하세요. 여러분^^!
드디어 스프링 DB 2편 강의가 오픈 준비에 돌입했습니다. 오랜기간 기다려주시고 응원해주셔서 감사합니다.
출시 예정일은 다음주 5월 30일(월) ~ 6월 3(금) 사이에 DB 2편이 출시될 예정입니다^^!
- 강의명: 스프링 DB 2편 - 데이터 접근 활용 기술
- 강의 수: 85강
- 강의 자료 PDF: 250장
- 강의 자료 PPT: 173장
자세한 강의 소개는 다음 내용을 참고해주세요.
강의 소개
백엔드 DB 데이터 접근 기술의 완성
백엔드 웹 애플리케이션을 제대로 개발하려면 HTTP를 기반으로한 MVC와 DB를 기반으로한 데이터 접근 기술이라는 2가지 큰 축을 완성해야 합니다. 우리는 앞선 강의를 통해 HTTP와 스프링 MVC를 완성했고, 이제 남은 하나의 축인 스프링 DB 데이터 접근 기술을 완성해야 합니다.
스프링 DB1편 강의를 통해 DB 접근 기술의 핵심 원리와 구조를 이해했습니다. 이번 스프링 DB 2편에서는 1편의 기반 위에 실무에 꼭 필요한 다양한 활용 기술들을 학습합니다. 2편은 크게 3부분으로 나뉘어 있습니다.
다양한 데이터 접근 기술 이해
JdbcTemplate, MyBatis, JPA, Spring Data JPA, Querydsl 같은 실무에서 주로 사용하는 다양한 데이터 접근 기술들을 실전 예제를 통해 점진적으로 발전시키면서 학습합니다. 이 과정을 통해 각각의 기술들이 왜 필요한지, 그리고 각 기술들의 장단점을 코드로 개발하면서 자연스럽게 이해할 수 있습니다.
데이터 접근 기술과 테스트
데이터 접근 기술은 결국 데이터베이스에 데이터를 관리하는 목적으로 사용됩니다. 따라서 데이터 접근 기술이 실제 데이터베이스에 데이터를 잘 저장하고 조회할 수 있는지 확인해야 합니다. 강의에서는 데이터베이스를 연동하는 상황에서 테스트를 어떻게 하는 것이 좋은지 단계적으로 설명합니다.
스프링 트랜잭션의 깊은 이해
스프링 DB1편에서는 스프링이 제공하는 트랜잭션 기능이 왜 필요하고, 어떻게 동작하는지 내부 원리를 알아보았습니다.
이번 시간에는 스프링 트랜잭션을 매우 깊이있게 학습하고, 실무 활용 방안을 알아봅니다.
* 트랜잭션 AOP 사용시 실무 주의사항
* 스프링 트랜잭션의 다양한 옵션
* 예외 처리와 스프링 트랜잭션이 커밋되고 롤백되는 내부 원리
* 트랜잭션 전파 옵션과 내부 동작 방식
강의 목표
- 목표: 실무 백엔드 애플리케이션을 개발할 때 필요한 방대한 DB 데이터 접근 기술을 완성하는 것이 이 강의의 목표입니다
- 기초부터 실무까지: 실무 개발을 위한 내용이 많지만, 웹 애플리케이션 개발 경험이 없는 개발자도 적응할 수 있게 단계적으로 구성하였습니다. 참고로 스프링 DB 1편을 먼저 듣고 스프링 DB 2편을 학습해야 합니다.
- 개념부터 활용까지: 단순히 기술의 사용법을 설명하는 것이 아니라, 이 기술이 왜 필요하고, 어떻게 나왔는지 핵심 원리와 활용 방안을 함께 설명합니다.
- 실무 예제 중심: 실무에서 스프링으로 애플리케이션을 개발할 때 필요한 데이터 접근 기술을 예제를 통해 자연스럽게 학습하며, 실무 베스트 프랙티스를 전수해드립니다.
- 간결함: 실무에서 사용하지 않는 오래된 기능은 과감하게 제외했습니다. 최신 실무에 주로 사용하는 내용 중심으로 설명합니다.
다루는 내용
데이터 접근 기술 - JdbcTemplate
SQL을 직접 사용할 때 스프링이 제공하는 JdbcTemplate은 좋은 선택입니다. 이 기술은 JDBC를 매우 편리하게 사용할 수 있게 도와줍니다. 그리고 JDBC를 직접 사용할 때 발생하는 대부분의 반복 작업을 대신 처리해줍니다.
* 개발자는 SQL을 작성하고, 전달할 파리미터를 정의하고, 응답 값을 매핑하기만 하면 됩니다.
* 우리가 생각할 수 있는 대부분의 반복 작업을 대신 처리해줍니다.
강의에서는 실제 동작하는 웹 애플리케이션에 JdbcTemplate을 직접 코드로 적용하면서 해당 기술의 장단점을 이해할 수 있습니다.
데이터 접근 기술 - MyBatis
MyBatis는 앞서 설명한 JdbcTemplate보다 더 많은 기능을 제공합니다.
JdbcTemplate과 비교해서 MyBatis의 가장 매력적인 점은 SQL을 XML에 편리하게 작성할 수 있고 또 동적 쿼리를 매우 편리하게 작성할 수 있다는 점입니다.
강의에서는 실제 동작하는 웹 애플리케이션에 MyBatis를 직접 코드로 적용하면서 해당 기술의 장단점을 이해할 수 있습니다.
데이터 접근 기술 - JPA
스프링과 JPA는 자바 엔터프라이즈(기업) 시장의 주력 기술입니다.
스프링이 DI 컨테이너를 포함한 애플리케이션 전반의 다양한 기능을 제공한다면, JPA는 ORM 데이터 접근 기술을 제공합니다.
JPA는 스프링 만큼이나 방대하고, 학습해야할 분량도 많습니다. 하지만 한번 배워두면 데이터 접근 기술에서 매우 큰 생산성을 향상을 얻을 수 있습니다. 대표적으로 JdbcTemplate이나 MyBatis 같은 SQL 매퍼 기술은 SQL을 개발자가 직접 작성해야 하지만, JPA를 사용하면 SQL도 많은 부분 JPA가 대신 작성하고 처리해줍니다.
실무에서는 JPA를 더욱 편리하게 사용하기 위해 스프링 데이터 JPA와 Querydsl이라는 기술을 함께 사용합니다.
JPA, 스프링 데이터 JPA, Querydsl은 각각 별도의 강의로 다룰 정도로 매우 방대합니다. 여기서는 해당 기술들의 기본 기능과, 해당 기술을 왜 사용해야 하는지 각각의 장단점과 전체 큰 그림을 알아봅니다.
데이터 접근 기술 - 스프링 데이터 JPA
스프링 데이터 JPA는 JPA를 더욱 편리하게 사용하도록 도와주는 기술입니다.
쉽게 이야기해서 기본적인 CRUD 기능들을 모두 제공하기 때문에 개발자가 작성해야 하는 개발 코드를 혁신적으로 줄일 수 있습니다.
강의에서는 실제 동작하는 웹 애플리케이션에 스프링 데이터 JPA를 직접 코드로 적용하면서 해당 기술의 장단점을 이해할 수 있습니다.
데이터 접근 기술 - Querydsl
JPA는 복잡한 쿼리나, 동적 쿼리를 처리하기 어렵습니다. Querydsl을 사용하면 이런 문제를 매우 편리하게 해결할 수 있습니다. 실무에서 JPA를 사용한다면 꼭 사용해야 하는 추천 기술입니다.
강의에서는 실제 동작하는 웹 애플리케이션에 Querydsl를 직접 코드로 적용하면서 해당 기술의 장단점을 이해할 수 있습니다.
데이터 접근 기술 - 테스트
데이터 접근 기술은 결국 데이터베이스에 데이터를 관리하는 목적으로 사용됩니다. 따라서 데이터 접근 기술이 실제 데이터베이스에 데이터를 잘 저장하고 조회할 수 있는지 확인해야 합니다.
강의에서는 데이터베이스를 연동하는 상황에서 테스트를 어떻게 하는 것이 좋은지 단계적으로 설명합니다. 예를 들어서 데이터베이스에 연동하는 테스트를 어떻게 구성하는지 설명하고, 테스트에서 사용되는 @Transactional, 임베디드 모드 DB가 어떻게 동작하는지 코드로 알아봅니다.
스프링 트랜잭션 이해
DB1편에서는 스프링이 제공하는 트랜잭션 기능이 왜 필요하고, 어떻게 동작하는지 내부 원리를 알아보았습니다. 이번 시간에는 스프링 트랜잭션 AOP 사용시 실무 주의사항, 스프링 트랜잭션의 다양한 옵션, 예외가 발생했을 때 스프링 트랜잭션이 커밋되고 롤백되는 내부 원리와 같이 스프링 트랜잭션이 제공하는 다양한 기능들을 깊이있게 자세히 알아봅니다.
스프링 트랜잭션 전파
스프링의 트랜잭션 전파를 매우 깊이있게 다룹니다. 트랜잭션 전파가 왜 필요한지 이해하고, 다양한 트랜잭션 전파 옵션, 전파 옵션에 따른 예외 처리, 실무에서 트랜잭션 전파 옵션을 사용할 때의 주의점을 다룹니다.