BEST
개발 · 프로그래밍

/

백엔드

스프링 부트 - 핵심 원리와 활용

실무에 필요한 스프링 부트는 이 강의 하나로 모두 정리해드립니다.

(5.0) 수강평 312개

수강생 11,827명

Thumbnail

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

이런 걸
배워요!

  • 스프링 부트의 내부 동작 원리

  • 스프링 부트 라이브러리 만들기

  • 스프링 부트가 제공하는 핵심 기능 이해

  • 스프링 부트를 활용한 모니터링

백엔드 개발자를 위한 스프링 부트 끝판왕! 
실무에 필요한 내용을 모두 담았습니다. 

김영한의 스프링 완전 정복 시리즈 완결!
스프링 입문 베스트셀러 강의 총 9편 구성

🚩 본 강의는 "김영한의 스프링 완전 정복 시리즈" 마지막 강의입니다. 스프링이 처음이신 분께서는 수강 전 우아한형제들 최연소 기술이사 김영한의 스프링 완전 정복 로드맵을 먼저 확인해주세요. (로드맵 바로가기)

스프링 부트가 등장하기까지 
스프링 프레임워크의 성장

스프링 프레임워크는 지난 20년 동안 발전해온 매우 거대한 기술입니다.
실무에서 발생하는 대부분의 기술 문제를 해결하고 높은 안정성과 유연성을 제공합니다. 그래서 자바를 사용하는 대부분의 메이저 회사는 스프링을 사용합니다. 스프링은 자바 진영에서 사용되는 사실상 표준 기술입니다.

거대하고 불편한 스프링 프레임워크

그런데 스프링 프레임워크는 기능도 너무 많고 광범위해서 어디서부터 어떻게 시작해야 할지 막막합니다.
또 너무 많은 유연성을 제공해서, 어떤 기술들을 함께 사용해야 할지 선택하기 어렵습니다. 기능이 점점 증가하면서 더 많은 설정들이 필요해지기 시작했습니다. 그래서 많은 개발자들이 스프링은 무겁고 불편하다고 느끼기 시작했습니다.


스프링 부트 - 스프링 기술의 완성

스프링 부트(Spring Boot)는 이름 그대로 부트(Boot)에서 시작합니다. 스프링 부트는 스프링을 매우 쉽고 편리하게 시작할 수 있도록 도와주는 기술로, 개발자에게 수많은 편의 기능을 제공합니다. 스프링 부트의 등장으로 거대하고 불편하게만 느껴졌던 스프링을 매우 쉽고 편리하게 시작할 수 있게 되었습니다.

이제 스프링으로 진행하는 대부분의 프로젝트는 스프링 부트를 필수로 사용합니다. 스프링 기술은 스프링 부트의 등장으로 비로소 완성되었습니다.

스프링 부트가 제공하는 5가지 핵심 기능

스프링 부트는 5가지 핵심 기능을 제공하여 스프링 프레임워크를 편리하게 사용하도록 도와줍니다. 이번 강의 역시 이 5가지 핵심 기능에 집중합니다.

01
내장 서버

별도의 서버를 설치할 필요 없이 손쉽게 웹 애플리케이션을 개발하고 배포할 수 있습니다.

02
자동 라이브러리 관리

수많은 라이브러리를 베스트 프랙티스 기반으로 자동으로 선택하고 관리함으로써 프로젝트를 쉽고 빠르게 시작할 수 있습니다.

03
자동 구성

복잡한 스프링 설정을 자동화함으로써 개발자들이 쉽고 빠르게 애플리케이션을 개발할 수 있습니다.

04
외부 설정

애플리케이션을 개발 환경 ↔ 운영 환경처럼 서로 다른 환경에서 사용할 때 필요한 외부 설정값을 편리하게 조회할 수 있습니다.

05
모니터링 & 관리 기능

애플리케이션의 수많은 지표들을 자동으로 수집/모니터링/관리할 수 있는 기능을 제공합니다.

스프링 기술을 더욱 강력하게
5가지 스프링 부트 핵심 기능 마스터

실무에서 꼭 사용하는 스프링 부트의 핵심 기능을 예제 코드를 통해 익힐 수 있도록 알려드립니다.


강의 목표

실무에 필요한 스프링 부트를 강의 하나로 모두 정리해드립니다.

스프링 부트는 매우 편리하지만 너무 다양한 기능을 제공합니다. 무작정 넓게 배워도 안되고, 또 너무 깊이있게 들어가도 실무에 크게 도움이 되지 않습니다. 그래서 실무에서 중요하게 생각하는 핵심 원리와 자주 사용하는 기능을 예제 코드를 통해서 자연스럽게 이해할 수 있도록 강의를 준비했습니다.

크게 중요하지 않거나 실무에서 자주 사용하지 않는 기능은 과감하게 제외했습니다. 그리고 많은 분들이 궁금해하시는 스프링 부트를 활용한 효과적인 모니터링 방법도 함께 포함했습니다.

예제 코드를 통해 자연스럽게 원리를 이해할 수 있습니다.

여러분은 예제 코드를 통해서 자연스럽게 스프링 부트의 마법 같은 원리를 이해할 수 있습니다. 이 강의는 스프링 부트가 없던 시절부터 시작합니다. 그리고 점진적으로 스프링 부트를 도입하면서 스프링 부트의 핵심 개념과 강점을 코드를 통해서 자연스럽게 이해할 수 있습니다.

백엔드 개발 실무에서 필요한 스프링 부트를 복잡한 이론 대신, 예제 코드를 구현하는 과정을 통해서 원리를 자연스럽게 이해할 수 있도록 실무 베스트 프랙티스를 전수해드립니다.

📢 주의! 스프링을 학습한 경험이 있는 분들께 적합한 과정입니다.

  • 스프링 부트는 스프링 프레임워크를 편리하게 사용하도록 도와주는 기술입니다. 따라서 스프링 프레임워크를 먼저 학습하는 것이 더 중요합니다. 이 강의에서는 스프링으로 애플리케이션을 만드는 내용 보다는 스프링 부트 자체의 기능에 초점을 맞춥니다. 그리고 여러분이 스프링을 학습해본 경험이 있다고 가정합니다.
  • 아직 스프링에 익숙하지 않거나 스프링을 처음부터 학습하고 싶다면, 김영한의 스프링 완전 정복 로드맵을 참고해주세요.
  • 이 강의는 스프링 부트 3.0, 스프링 프레임워크 6 버전을 기준으로 제작되었습니다.

다루는 내용

💡 스프링 부트를 코드를 통해 쉬우면서도 깊이있게 이해하고 싶은 백엔드 개발자 및 취업 준비생을 위한 강의입니다. 뿐만 아니라 이미 실무에서 스프링 부트를 사용하고 있지만 스프링 부트의 핵심 원리를 제대로 이해하며 사용하고 싶은 분들께도 도움이 되는 내용으로 구성되어 있습니다.

스프링 부트 소개: 스프링 vs 스프링 부트

스프링 부트가 등장한 이유와 스프링 부트 전반에 대해서 소개합니다.

스프링 부트와 웹 서버

오랜 과거로 돌아가서 톰캣 같은 웹 서버를 직접 설치하고 웹 애플리케이션을 WAR 파일로 빌드해서 배포하는 방법부터, 지금처럼 스프링 부트와 내장 톰캣을 사용해서 JAR 파일 하나로 편리하게 웹 서버를 사용하는 방법을 단계별로 설명합니다. 어떤 이유로 이렇게 발전해왔는지 이해하고, 그 과정 속에서 자연스럽게 스프링 부트의 내장 서버가 어떻게 동작하는지 원리를 이해하게 됩니다.

스프링 부트 스타터 & 라이브러리 관리

다양한 라이브러리들을 직접 선택하고 관리하는 방법의 어려움을 알아보고, 스프링 부트가 이런 문제점을 어떻게 해결하는지 알아봅니다. 그리고 스프링 부트 스타터 라이브러리에 대해서도 알아봅니다.

자동 구성 (Auto Configuration)

스프링 부트는 수많은 기능을 자동화합니다. 가장 대표적인 기능이 바로 자동 구성(Auto Configuration) 입니다. 이 기능 덕분에 개발자는 수많은 스프링 빈들을 직접 등록하지 않아도 됩니다. 하지만 어떤 원리로 자동 구성이 되는지 이해하지 못하면 스프링 부트를 사용하다 문제가 발생했을 때 근본적인 문제를 해결하기 어렵습니다.

강의에서는 스프링 부트의 핵심 기능이라 할 수 있는 자동 구성의 원리를 예제를 통해 손쉽게 이해할 수 있습니다. 그리고 이러한 자동 구성을 직접 만들어서 제공하는 방법도 알아봅니다.

외부 설정과 프로필

스프링 부트 없이 직접 외부 설정을 사용하는 방법부터 시작합니다. (OS 환경변수, 자바 시스템 속성, 커맨드 라인 인수 등) 그리고 이렇게 직접 외부 설정을 사용할 때 발생하는 문제점들을 알아보고, 스프링 부트가 이런 문제점들을 어떻게 해결하는지 단계별로 하나하나 학습합니다. 더 나아가서 Environment, @Value, @ConfigurationProperties의 등장 이유와 활용법도 예제를 통해 학습합니다.

스프링 부트 액츄에이터

실제 운영 환경에서 서비스를 운영하려면 단순 기능 요구사항을 넘어 애플리케이션을 모니터링하는 부분이 매우 중요합니다. 스프링 부트 액츄에이터가 제공하는 다양한 기능 및 모니터링 기능을 학습합니다.

마이크로미터, 프로메테우스, 그라파나를 활용한 모니터링

“전투에서 실패한 지휘관은 용서할 수 있지만 경계에서 실패하는 지휘관은 용서할 수 없다”는 말이 있습니다. 이 말을 서비스를 운영하는 개발자에게 비춰 보면 장애는 언제든지 발생할 수 있더라도 그만큼 모니터링을 잘 해야 한다는 뜻입니다.

최근 실무에서 주로 많이 사용하는 모니터링 툴인 프로메테우스와 그라파나를 활용해 어떻게 모니터링 환경을 구축하는지 설명합니다. 이렇게 구축한 모니터링 환경에서 실제 CPU, 메모리, DB 커넥션 사용을 늘려가면서 모니터링 툴을 통해 문제를 파악하는 방법도 알아봅니다.

모니터링 활용

모니터링에 필요한 지표를 애플리케이션에 직접 심고 모니터링 대시보드를 통해서 확인하는 방법을 설명합니다. 마이크로미터라는 편리한 툴을 통해서 애노테이션 하나로 추적하고 싶은 비즈니스 로직의 호출 수, 평균 실행 시간, 최대 실행 시간을 측정하는 방법도 알아봅니다. 그리고 실무에서 올바르게 모니터링 하는 방법도 알려드립니다.


실무에 쓰이는 스프링 핵심 마스터
스프링 완전 정복 시리즈 최종편

추천 학습자

스프링을 처음 접하는 백엔드 개발자 취업 준비생

스프링을 공부하다 어려워서 포기한 경험이 있는 개발자

스프링의 핵심 원리를 제대로 이해하고 싶은 실무자

서버 개발을 잘 하고픈 자바 백엔드 개발자 누구나 OK

이 강의는 "스프링 완전 정복 시리즈"를 끝맺는 마지막 강의입니다. 본 로드맵은 스프링 정복을 목표로 하는 자바 백엔드 개발자를 대상으로 실제 실무에 쓰이는 스프링의 핵심을 완전히 마스터 할 수 있도록 하는 것을 목표로 합니다.

다음으로

"스프링 완전 정복 시리즈"를 모두 끝마치신 분들께는 최신 실무 기술로 웹 애플리케이션을 만들어보면서 학습할 수 있는 "스프링 부트와 JPA 실무 완전 정복 로드맵"을 추천합니다.

강의 목록

  • ✅ 자바 ORM 표준 JPA 프로그래밍
  • ✅ 실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발
  • ✅ 실전! 스프링 부트와 JPA 활용2 - API 개발과 성능 최적화
  • ✅ 실전! 스프링 데이터 JPA
  • ✅ 실전! Querydsl

인프런에서 가장 많은 유저가 학습한 최고의 로드맵, 대망의 완결!

웹 개발 No.1 베스트셀러

로드맵 내용을 모두 체득했다면, 여러분의 스프링 기본기는 실무에서도 상당히 경쟁력 있는 수준에 도달하게 됩니다. 이 로드맵을 통해 스프링을 확실하게 마스터하고 원하시는 목표를 이루시길 바랍니다!

이런 분들께
추천드려요!

학습 대상은
누구일까요?

  • 스프링 부트를 깊이있게 이해하고 싶은 개발자

  • 스프링 부트를 코드로 쉽게 이해하고 싶은 개발자

  • 개발자 취업 준비생

  • 실무에서 스프링 부트를 사용하지만 스프링 부트의 핵심 원리를 제대로 이해하고 사용하고 싶은 개발자

선수 지식,
필요할까요?

  • 자바 언어

  • 스프링 학습 경험

안녕하세요
김영한입니다.

진짜 실무에 필요한 제대로 된 개발자가 될 수 있도록, 교육하는 것이 저의 목표입니다.

 

저의 개발 인생 이야기

EO 인터뷰 영상

개발바닥 - 시골 청년 개발왕 되다

취업과 이직에 대한 고민 해결

 

커리큘럼

전체

107개 ∙ (15시간 45분)

수업 자료

가 제공되는 강의입니다.

강의 게시일: 
마지막 업데이트일: 

수강평

아직 충분한 평가를 받지 못한 강의입니다.
모두에게 도움이 되는 수강평의 주인공이 되어주세요!