[개발 ・ 프로그래밍] 강의입니다.
스프링 입문자가 예제를 만들어가면서 스프링의 핵심 원리를 이해하고, 스프링 기본기를 확실히 다질 수 있습니다.
이런 걸
배워요!
스프링 핵심 원리를 이해하고, 성장하는 개발자가 되어보세요!
📣 확인해주세요!
본 강의는 자바 스프링 완전 정복 시리즈의 두 번째 강의입니다. 우아한형제들 개발팀장 김영한의 스프링 완전 정복 로드맵을 먼저 확인해주세요.
• 로드맵 링크: https://www.inflearn.com/roadmaps/373 (클릭하면 바로가기)
김영한의 스프링 핵심 원리 기본편
객체 지향 설계, 스프링의 핵심 원리 및 기능
스프링의 원리부터 핵심 가치까지
단순히 스프링이 제공하는 기능을 배우고 사용하는 것은 어렵지 않습니다. 그런데 스프링이 제공하는 핵심 가치와 원리를 제대로 이해하고 사용하려면 큰 난관에 부딪힙니다. 왜냐하면 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. 스프링 컨테이너와 스프링 빈 부터는 스프링이 제공하는 핵심 기능들을 설명합니다. 각 핵심 기능들이 왜 만들어졌는지, 어디에 왜 필요한지, 그리고 가장 중요한 실무에서 어떤 방식으로 사용되는지, 이 부분에 초점을 맞추어 설명합니다.
그래서 스프링의 기능을 단순히 사용하는 단계를 넘어서, 실무에서 어떻게 활용하는 게 좋은 방법인지 제대로 이해하고 사용할 수 있습니다.
이 강의를 듣고 나면
이 강의는 단순히 스프링 레퍼런스 문서에 있는 기능을 하나하나 설명하는 강의가 아닙니다. 기능을 넘어서 왜 스프링을 만들었고, 왜 스프링이 이런 기능을 제공하는지 그 이유와 핵심 원리에 대해서 설명하는 강의입니다.
강의가 끝나면 여러분은 스프링의 기본 기능을 잘 사용하는 것은 물론이고, 스프링의 본질에 대해서 깊이있는 이해를 하게 됩니다. 스프링의 본질을 이해한다는 것은 객체 지향 설계의 본질을 이해하는 것과 같습니다. 따라서 단순히 스프링의 기능만 사용하는 개발자에서 객체 지향 애플리케이션의 설계와 아키텍처 레벨까지 고민하는 개발자로 성장할 수 있습니다.
강의 대상

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

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

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

김영한 스프링 입문
수강생
스프링 핵심 원리 강의는 스프링을 처음 접하는 개발자부터, 실무에서 스프링을 사용하지만 스프링의 핵심 원리를 제대로 이해하고 사용하고 싶은 개발자 분들을 위해서 준비했습니다. 그리고 객체지향 설계에 고민이 많은 개발자 분들에게도 도움이 됩니다.
앞으로 - 스프링 완전 정복 시리즈 (진행중)
스프링을 완전히 마스터할 수 있는 시리즈를 준비하고 있습니다. 실제 실무에서 사용하는 핵심 스프링 기능을 중심으로, 실무에서 쓰이지 않거나 오래된 기능은 과감하게 생략한 실무 노하우를 전수해드릴 예정입니다.
강의 순서
- 스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
- 스프링 핵심 원리 - 기본편 본 강의
- 모든 개발자를 위한 HTTP 웹 기본 지식 출시 완료
- 실전! 스프링 웹 MVC 출시 예정 - 2월
- 실전! 스프링 DB 접근 기술 출시 예정
- 실전! 스프링 부트 출시 예정
실전! 스프링 웹 MVC 2월 출시 예정
- 목표: 웹 애플리케이션을 개발할 때 필요한 모든 웹 기술을 완성하는 것을 목표로 하는 강의입니다.
- 웹 기초부터 실무까지: 실무 개발을 위한 내용이 많지만, 웹 애플리케이션 개발 경험이 없는 개발자도 적응할 수 있게 구성하였습니다.
- 자바 웹 기술 이야기: 서블릿, 필터 등 자바 기본 웹 기술부터 시작해 왜 스프링 MVC가 나오게 되었는지를 설명합니다.
- 실무 예제 중심: 실무에서 스프링으로 웹 애플리케이션을 개발할 때 필요한 모든 과정을 예제를 통해 자연스럽게 학습하며, 실무에서의 Best Practice를 전수해드립니다.
- 간결함: 실무에서 사용하지 않는 오래된 기능은 과감하게 제외했습니다. 최신 실무에 주로 사용하는 내용을 위주로 설명합니다.
스프링 핵심 원리 - 중급편
- 기본편은 객체 지향 설계와 스프링의 핵심 원리, 그리고 스프링을 사용할 때 필수로 알아야 하는 핵심 기능들을 다룹니다.
- 중급편은 기본편에서 다루지 않은, 컨테이너 확장 포인트, AOP 동작 원리 같은 스프링의 난이도 있는 내용들을 주로 다룰 예정입니다. 따라서 기본편을 완전히 숙지하고 들어야 합니다. 출시 일정과 자세한 내용은 어느 정도 정리가 되면 다시 공유드리겠습니다.
관련 로드맵
강의 수강 꿀팁!
이런 분들께
추천드려요!
선수 지식,
필요한가요?
김영한 입니다.
- 우아한형제들 개발 팀장 (전: 카카오, SK플래닛)
- 저서: 자바 ORM 표준 JPA 프로그래밍





실전! Querydsl

실전! 스프링 데이터 JPA
스프링 부트 업데이트
