BEST
개발 · 프로그래밍

/

백엔드

스프링 핵심 원리 - 기본편

스프링 입문자가 예제를 만들어가면서 스프링의 핵심 원리를 이해하고, 스프링 기본기를 확실히 다질 수 있습니다.

(5.0) 수강평 3,905개

수강생 36,752명

Thumbnail

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

이런 걸
배워요!

  • 스프링 기본 기능

  • 스프링 핵심 원리

  • 객체 지향 설계

스프링 핵심 원리를 이해하고, 
성장하는 백엔드 개발자가 되어보세요!

📢 수강 전 확인해주세요!

  • 본 강의는 자바 스프링 완전 정복 시리즈의 두 번째 강의입니다. 우아한형제들 최연소 기술이사 김영한의 스프링 완전 정복 로드맵을 먼저 확인해주세요. (바로가기)

스프링 핵심 원리 - 기본편 현재 강의

  • 객체 지향 설계와 스프링
    • SOLID - SRP, OCP, DIP
  • 스프링 컨테이너와 스프링 빈
    • 스프링 컨테이너 - IoC, DI
    • 의존관계 주입
    • 빈 생성주기와 스코프

스프링 핵심 원리 - 고급편

  • 스프링 핵심 디자인 패턴
    • 템플릿 메서드 패턴, 전략 패턴, 템플릿 콜백 패턴, 프록시 패턴, 데코레이터 패턴
  • 쓰레드 로컬
    • 동시성 문제, 멀티쓰레드, 쓰레드 로컬
  • 스프링 AOP
    • 개념, 동작 원리, 실전 예제, 주의 사항

김영한의 스프링 핵심 원리 기본편
객체 지향 설계, 스프링의 핵심 원리 및 기능

 

스프링의 원리부터 핵심 가치까지

단순히 스프링이 제공하는 기능을 배우고 사용하는 것은 어렵지 않습니다. 그런데 스프링이 제공하는 핵심 가치와 원리를 제대로 이해하고 사용하려면 큰 난관에 부딪힙니다. 왜냐하면 IoC(제어의 역전), DI(의존관계 주입) 같은 알듯말듯한 용어부터, SRP, OCP, DIP 같은 소위 SOLID라 불리는 좋은 객체 지향 설계의 원칙들도 함께 이해해야 비로소 스프링의 핵심 원리를 제대로 파악할 수 있기 때문입니다. 

스프링의 진정한 핵심 가치는 바로 객체 지향 프로그래밍(OOP)에 있습니다. 그리고 스프링을 제대로 이해하기 어려운 이유도 이 객체 지향 때문입니다. 다음 단계의 백엔드 개발자로 성장하려면, 스프링이 제공하는 핵심 가치와 원리를 반드시 깊이있게 이해해야 합니다.

이 강의는 스프링이 없던 20년 전으로 돌아가서 스프링이 왜 만들어졌는지 그 이유부터 시작합니다. 그리고 우리도 그때로 돌아가서 스프링 없는 순수한 자바 코드로 예제 애플리케이션을 만들어봅니다. 요구사항이 변경 됨에 따라 문제점들이 하나씩 발견되고, 그 문제를 해결하기 위해 좋은 객체 지향 원리들을 하나씩 코드에 적용하면서 문제를 해결해나갑니다. 이 과정속에서 여러분은 자연스럽게 코드로 좋은 객체지향의 원리(SOLID)와 IoC, DI에 대해서 이해하고, 또 스프링 컨테이너가 왜 필요한지 깨달을 수 있습니다.

스프링의 핵심 원리를 단순히 이론적으로 이해하는 것이 아니라, 예제 애플리케이션을 직접 코드로 개발하는 과정 속에서 자연스럽게 이해하게 됩니다.

강의 목차

  • 1. 객체 지향 설계와 스프링
  • 2. 스프링 핵심 원리 이해1 - 예제 만들기
  • 3. 스프링 핵심 원리 이해2 - 객체 지향 원리 적용
  • 4. 스프링 컨테이너와 스프링 빈
  • 5. 싱글톤 컨테이너
  • 6. 컴포넌트 스캔
  • 7. 의존관계 자동 주입
  • 8. 빈 생명주기 콜백
  • 9. 빈 스코프

강의의 앞부분(1~3)은 이렇게 객체 지향과 스프링의 핵심 원리에 대해서 설명합니다. 그리고 이후 4. 스프링 컨테이너와 스프링 빈 부터는 스프링이 제공하는 핵심 기능들을 설명합니다. 각 핵심 기능들이 왜 만들어졌는지, 어디에 왜 필요한지, 그리고 가장 중요한 실무에서 어떤 방식으로 사용되는지, 이 부분에 초점을 맞추어 설명합니다.

그래서 스프링의 기능을 단순히 사용하는 단계를 넘어서, 실무에서 어떻게 활용하는 게 좋은 방법인지 제대로 이해하고 사용할 수 있습니다.

이 강의를 듣고 나면

이 강의는 단순히 스프링 레퍼런스 문서에 있는 기능을 하나하나 설명하는 강의가 아닙니다. 기능을 넘어서 왜 스프링을 만들었고, 왜 스프링이 이런 기능을 제공하는지 그 이유와 핵심 원리에 대해서 설명하는 강의입니다.

강의가 끝나면 여러분은 스프링의 기본 기능을 잘 사용하는 것은 물론이고, 스프링의 본질에 대해서 깊이있는 이해를 하게 됩니다. 스프링의 본질을 이해한다는 것은 객체 지향 설계의 본질을 이해하는 것과 같습니다. 따라서 단순히 스프링의 기능만 사용하는 개발자에서 객체 지향 애플리케이션의 설계와 아키텍처 레벨까지 고민하는 개발자로 성장할 수 있습니다.

강의 대상

 

 

스프링을 처음
접하는 개발자

스프링 핵심 원리
이해하고픈 개발자

객체지향 설계
고민인 개발자

김영한 스프링 입문
수강생

스프링 핵심 원리 강의는 스프링을 처음 접하는 개발자부터, 실무에서 스프링을 사용하지만 스프링의 핵심 원리를 제대로 이해하고 사용하고 싶은 개발자 분들을 위해서 준비했습니다. 그리고 객체지향 설계에 고민이 많은 개발자 분들에게도 도움이 됩니다.

앞으로 이어질
스프링 완전 정복 시리즈

스프링을 완전히 마스터할 수 있는 시리즈를 준비하고 있습니다. 실제 실무에서 사용하는 핵심 스프링 기능을 중심으로, 실무에서 쓰이지 않거나 오래된 기능은 과감하게 생략한 실무 노하우를 전수해드릴 예정입니다.

강의 순서


관련 로드맵

스프링 완전 정복 시리즈 
스프링 똑똑하게 시작하기,
핵심 원리부터 실전 활용   이 강의 포함 

 

스프링 부트 + JPA 실무 완전 정복 
최신 실무 기술로 웹 앱을
만들며 학습하고 싶다면  실전 심화 단계 

이런 분들께
추천드려요!

학습 대상은
누구일까요?

  • 스프링을 처음 접하는 개발자

  • 개발자 취업 준비생

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

  • 스프링을 공부했지만 어려워서 포기했던 개발자

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

선수 지식,
필요할까요?

  • 자바 언어

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

 

저의 개발 인생 이야기

EO 인터뷰 영상

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

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

 

커리큘럼

전체

65개 ∙ (12시간 5분)

수업 자료

가 제공되는 강의입니다.

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

수강평

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