Thumbnail
BEST
개발 · 프로그래밍 백엔드

스프링부트 JUnit 테스트 - 시큐리티를 활용한 Bank 애플리케이션 대시보드

(4.7)
20개의 수강평 ∙  372명의 수강생

39,600원

지식공유자: 최주호
총 69개 수업 (15시간 9분)
수강기한: 
무제한
수료증: 발급
난이도: 
입문
-
초급
-
중급이상
지식공유자 답변이 제공되는 강의입니다
폴더에 추가 공유

초급자를 위해 준비한
[소프트웨어 테스트, 백엔드] 강의입니다.

스프링 부트(Spring Boot)로 은행 애플리케이션을 개발해 봅니다. 개발을 하면서 발생하는 여러 문제들을 하나씩 직접 제이유닛(JUnit)으로 테스트해 보면서 스스로 고민하고 애플리케이션을 구축할 수 있는 힘을 길러드리는 강의입니다.

✍️
이런 걸
배워요!
JPA
Security
Springboot
JUnit 단위 테스트
JUnit 통합 테스트
JUnit 테스트를 위한 효과적인 세팅법

Spring Boot + JUnit, 처음부터 확실하게!

초보 백엔드 개발자를 위한
스프링 부트 JUnit 테스트 활용

💡 스프링부트로 Junit 테스트를 하지 않고 프로젝트를 작성하고 있다면?

💡 테스트를 작성했을 때의 장점이 무엇인지 잘 모르겠다면?

테스트 프로그램 작성 프레임워크, JUnit

단위 테스트, 통합 테스트 등 JUnit을 사용해 Spring Boot(스프링 부트)에서 테스트를 진행하는 방법에는 여러 가지가 있습니다. 하지만 막상 초보자가 JUnit으로 테스트를 시작하기에는 다소 어렵게 느껴지기 마련입니다. 개인/기업 블로그나 공식 문서 등에 개념이 적혀있기는 하지만 막상 잘 정리된 개념과 팁만을 모아보기도 쉽지 않습니다.

이 강의에서는 JUnit이 처음인 분들이 JUnit을 쉽게 접할 수 있도록 개념을 정리하고, 다양한 팁들을 정리합니다. Repository, Service, Controller, Security Filter 등에서 발생할 수 있는 문제들을 하나씩 테스트해 봅니다. 이 과정을 통해 스프링 부트 레이어들간의 관계 및 책임에 대해 명확하게 알고 넘어갈 수 있습니다.

스프링 부트 경험은 있지만, 테스트의 필요성도 방법도 잘 모르고 계신가요? 
여러분은 이 강의를 통해 테스트를 하지 않고 본코드를 작성할 때와, 테스트를 작성하고 본코드를 작성할 때의 차이를 직접 경험하게 될 것입니다. 스프링 부트로 프로젝트를 작성하고 계신다면, 고민하지 말고 꼭 수강하시길 바랍니다!


은행 애플리케이션을 개발하며 
테스팅을 생생하게 배워보세요.

스프링부트를 통해 간단한 은행(Bank) 애플리케이션을 만들어 봅니다. 이 과정에서 스프링부트와 시큐리티에 대해 더 자세히 알 수 있고, JUnit 테스트를 왜 하는지 명확하게 알 수 있게 됩니다.

강의 특징

  • ✅ Rest API 주소 설계에 대해 고민할 수 있게 됩니다.
  • ✅ 시큐리티 코드를 테스트할 수 있으며, 테스트를 통해 프로젝트 개발 시간을 단축시킬 수 있습니다.
  • ✅ JUnit 테스트를 할 때 꼭 필요한 세팅 방법 및 팁을 공유합니다.
  • ✅ 인터넷에 있는 원론적인 내용이 아닌, 왜 테스트를 해야 하는지를 체험할 수 있게 됩니다.

상세 커리큘럼

스프링부트 프로젝트/스프링부트 시큐리티 세팅

  • Bank 애플리케이션 프로젝트를 세팅하고, 테이블을 설계하고 엔티티를 생성합니다.
  • 최신화된 시큐리티 코드를 작성하고, Junit으로 테스트합니다.

스프링부트 회원가입

  • 첫 번째 기능인 회원가입을 통해 Validation, AOP를 적용하고 테스트합니다.

스프링부트 JWT 인증 및 인가

  • JWT 서버를 구현하고, 인증 테스트/인가 테스트를 진행합니다.
  • JWT 서버 코드를 리팩토링 해봅니다.

은행 애플리케이션 만들기

  • 계좌등록, 계좌목록, 계좌삭제, 계좌입금, 계좌출금, 계좌이체, 입출금내역보기 기능을 만들어봅니다.
  • 해당 기능에 대한 Repository, Service, Controller 테스트를 진행합니다.
  • 테스트는 통합테스트, 단위테스트, Mock 테스트에 대해서 배우게 됩니다.
  • 테스트에 필요한 세팅과, 문제점, 팁을 모두 공유합니다.

회원가입, 로그인, 계좌 관리 등 은행 앱에 필요한 다양한 기능을 만드는 과정에서 테스트를 진행해 봅니다.


반갑습니타, 메타코딩 최주호입니다!

스프링 프레임워크, 리액트, 플러터, DevOps 등 개발 유튜브 채널 메타코딩을 운영하는 최주호입니다.

상세 이력

  • 현 겟인데어 대표, 노마드랩 개발 팀장, BNK시스템 (은행), 경성대학교 정보전산원, OSAM 해커톤 멘토, 크러스트 유니버스 NFT Flutter 앱 개발
  • 부산IT교육센터 강의 (스프링 프레임워크), 동의대학교 평생아카데미 강의 (스프링 프레임워크), 정보진흥원 강의 (공공데이터), 대전보건대 강의 (스프링프레임워크), 광운대학교 강의 (사물인터넷 스마트홈), SBS아카데미 (자바 강의), 구름에듀 (스프링프레임워크), 지아이티강의 (스프링프레임워크, 머신러닝), 패스트캠퍼스(스프링부트) 강의 중
  • 자바 프로그래밍 입문, JSP 프로그래밍 입문, IoT 사물인터넷을 위한 라즈베리파이 저자 (앤써북), 플러터 UI입문 (앤써북), 플러터 UI실전 (앤써북) 등 저
  • 스프링부트 정석 (위키북스), AWS CI/CD 배포 기술서 (앤써북) 집필 중
  • 유튜브 메타코딩 채널 운영 (스프링프레임워크, 리액트, 플러터, Devops)
  • 이지업, OSAM, 인프런, 구름에듀 등 온라인 강의 진행
  • 부경대 컴퓨터공학 석사 졸업, 공개 소프트웨어 역량 강화 (국방부장관상)

Q&A를 확인해보세요.

Q. macOS에서 수강할 수 있나요?

네, 수강하셔도 됩니다.

Q. VSCode가 아닌 다른 IDE를 사용해도 되나요?

본인이 사용하는 IDE가 있다면 해당 툴을 사용해도 무방합니다.

Q. JUnit이 처음인데 강의를 들어도 될까요?

스프링부트 및 JPA를 학습하셨다면 바로 수강하셔도 됩니다.

https://www.inflearn.com/course/스프링부트-시큐리티

위 URL의 강의를 듣고 Junit 강의를 들으면 더욱 재밌게 수강할 수 있어요.

💾 수강 전 참고 사항

  • Windows/macOS 환경 모두 수강하실 수 있으며, IDE로는 VSCode를 사용합니다. (IntelliJ 등 다른 IDE를 사용해도 무방합니다.)
  • JDK 11, Spring Boot 2.7.7 버전을 사용합니다. 스프링부트 버전 3.0 이상을 사용할 경우에는 자바(Java) 17 버전 이상을 세팅하셔야 합니다.
  • 선수 지식으로 스프링 부트 및 JPA 사용 경험이 있어야 합니다.
  • Github을 통해 학습 자료를 제공합니다. (링크)

이런 분들께 추천드려요!

🎓
학습 대상은
누구일까요?
스프링부트로 JUnit 테스트를 하고 싶은 개발자 혹은 학생
최신 스프링부트 시큐리티 코드를 알고 싶은 개발자 혹은 학생
📚
선수 지식,
필요할까요?
스프링부트
JPA

안녕하세요
최주호 입니다.
최주호의 썸네일

유튜버 메타코딩입니다.

https://www.youtube.com/channel/UCVrhnbfe78ODeQglXtT1Elw

커리큘럼 총 69 개 ˙ 15시간 9분의 수업
이 강의는 영상, 수업 노트가 제공됩니다. 미리보기를 통해 콘텐츠를 확인해보세요.
섹션 0. 스프링부트 프로젝트 세팅
강의소개 미리보기 12:11
Bank 프로젝트 생성 05:19
yml 설정 12:19
화면설계 10:18
테이블설계 09:49
User 엔티티 생성 11:19
Account 엔티티 생성 06:42
Transaction 엔티티 생성 07:13
섹션 1. 스프링부트 시큐리티 세팅
섹션 2. 스프링부트 회원가입
회원가입 서비스 만들기 21:46
회원가입 서비스 테스트 15:38
회원가입 서비스 코드 리팩토링 07:13
회원가입 컨트롤러 만들기 14:09
회원가입 컨트롤러 유효성검사 AOP 적용 21:31
회원가입 컨트롤러 정규표현식 실습1 14:59
회원가입 컨트롤러 정규표현식 실습2 미리보기 07:29
회원가입 컨트롤러 정규표현식 DTO 적용 14:44
회원가입 컨트롤러 테스트 12:17
섹션 3. 스프링부트 JWT 인증과 인가
Jwt 토큰 생성을 위한 세팅 26:56
Jwt 토큰 필터 구현 완료 21:05
Jwt 필터 등록하기 미리보기 09:50
Jwt 토큰 로그인 실패 로직 처리 08:34
Jwt 인가필터 구현 및 등록완료 23:12
시큐리티 JWT 코드 리뷰 및 개념잡기 미리보기 23:41
JwtProcess 테스트 10:34
successfulAuthentication 테스트 20:15
unsuccessfulAuthentication 테스트 06:26
authorization 테스트 11:49
회원가입 테스트 오류 잡기 01:24
SecurityConfig에 ROLE_ prefix 관련 공식 문서 변경 확인하기 06:12
섹션 4. Bank 애플리케이션
계좌등록 서비스 만들기 15:31
계좌등록 컨트롤러 만들기 12:48
계좌등록 서비스 테스트 14:21
계좌등록 컨트롤러 테스트 미리보기 16:28
본인계좌목록보기 서비스 만들기 14:30
본인계좌목록보기 컨트롤러 만들기 07:16
계좌삭제 서비스 생성 및 테스트 16:46
계좌삭제 컨트롤러 생성 및 테스트 28:45
@Sql teadown.sql 적용하기 미리보기 23:35
Jwt토큰 만료시간 버그 잡기 05:17
계좌입금 서비스 만들기 28:10
계좌입금 컨트롤러 만들기 08:17
계좌입금 서비스 테스트 23:11
서비스 테스트에 관하여 생각해보기 18:20
계좌입금 컨트롤러 테스트 06:32
계좌출금 서비스 만들기 14:41
계좌출금 서비스 테스트 12:23
계좌출금 컨트롤러 생성 및 테스트 06:30
계좌이체 서비스 생성 14:19
계좌이체 서비스 테스트 05:58
계좌이체 컨트롤러 생성 및 테스트 05:13
Long 타입 테스트 09:18
cors 테스트 17:28
입출금내역 동적 쿼리 작성 15:38
outer join 하는 이유 07:15
@DataJpaTest 더미데이터 만들기 12:53
@DataJpaTest autoincrement 초기화 미리보기 10:12
@DataJpaTest 더티체킹 12:27
동적쿼리 테스트 07:34
fetch join 테스트 미리보기 07:39
입출금내역조회 서비스 만들기 19:33
입출금내역조회 컨트롤러 생성 및 테스트 21:10
계좌상세보기 서비스, 컨트롤러 생성 및 테스트 15:30
전체테스트 및 PostMan 확인 (마지막강) 미리보기 18:14
Account Delete 테스트 버그 수정(FK 제약 조건 해제)
스프링부트 시큐리티+JWT+RestDoc(API문서)+WebMvcTest 까지의 최종 Github 공유
강의 게시일 : 2023년 02월 27일 (마지막 업데이트일 : 2023년 05월 06일)
수강평 총 20개
수강생분들이 직접 작성하신 수강평입니다.
4.7
20개의 수강평
5점
4점
3점
2점
1점
VIEW 추천 순 최신 순 높은 평점 순 낮은 평점 순 평점 순 높은 평점 순 낮은 평점 순
이진혁 thumbnail
5
최근 실무에 JWT를 적용해야 할 경우가 생겼는데 덕분에 잘 적용해서 좋은 결과물이 나왔습니다. 감사합니다!!
2024-03-02
최재영 thumbnail
5
예전 국비로 서면에서 선생님 교육들었었는데 너무 잘가르쳐주어서 시큐리티 강의말고도 여러강의결제하면서 정말 많은 도움을 받았습니다
2024-01-09
tttzkq thumbnail
5
자세한 그림과 함께 하는 설명이 도움이 많이 됩니다. 감사해요. 앞으로도 좋은 강의 부탁드립니다!
2023-09-26
강프로그래머 thumbnail
3
강의 내용은 매우 좋습니다 [좋은 점] 1. 이것저것 쏠쏠하게 몰랐던 지식도 많음 2. 실무에서 유용한 코드가 많음 3. 내용 알차고 세세하게 설명함 4. 깃허브에 수업 자료가 잘 정리되어 있음 ----- [아쉬운 점] 1. 다른 리뷰처럼 키보드 소리가 탁탁.. 진짜 집중이 안 됨.. 2. 라이브 코딩으로 진행하셔서 그런지.. 대부분의 챕터마다 실수로 인해서 강사님 멘붕오시고 정적... 그리고 에러를 찾아 헤매는 동안에 강의 흐름이 끊김.. 그래서 본인은 되감기 해서 다시 듣고 이해해야 됨.. (다른 라이브 코딩 강의처럼 멀티 모니터 사용하셔서 미리 완성된 프로젝트를 참고하시면서 진행하시면 좋겠습니다..)
2024-03-02
김동희 thumbnail
5
안녕하세요 강사님~ 인프런에 강사님의 무료 스프링 개념 강의 듣고 너무 좋아서 수강하게 됐습니다 강사님의 메타코딩 유투브랑 이지업클래스 수업도 들었습니다 참고로, 다른분들도 이지업클래스 jpa 강의 들으시면 도움될거 같아요 이지업클래스에서는 jpa 이클립스로 강의하시는데 몰랐던 부분 많이 알게되서 좋았습니다 차분하게 목소리 좋고, 원리 개념 설명 차분히 잘 설명 해주십니다 스프링 관련 좀더 깊이 있는 부분도 기대합니다 실무에서 프로젝트에서 경험하신 jpa중/고급, 동시성제어(락), 병렬처리, 배치, 엑셀파일처리, 이메일전송, 원격제어 등 .. 앞으로 좋은 강의 기대하고. 응원합니다 항상 건강하고 행복하세요^^
2023-03-18
지식공유자 최주호
감사합니다. 첫댓글이니 담강의 나오면 무료 쿠폰드리겠습니다. 꼭 말해주세요
2023-03-20