강의

멘토링

로드맵

Inflearn brand logo image
BEST
Programming

/

Back-end

Spring核心原理 - 基本編

スプリング入門者が例を作成しながらスプリングの核心原理を理解し、スプリングの基礎を確実に固めることができます。

  • yh
Spring
oop

学習した受講者のレビュー

こんなことが学べます

  • スプリング基本機能

  • スプリング核心原理

  • オブジェクト指向設計

春のコア原理を理解し、
成長するバックエンド開発者になろう!

📢受講前に確認してください!

  • この講義は、Java Spring完全征服シリーズの2番目の講義です。エレガントな兄弟最年少の技術理事キム・ヨンハンのスプリング完全征服ロードマップを最初に確認してください。 (ショートカット)

スプリングコア原理 - 基本編現在の講義

  • オブジェクト指向設計とスプリング
    • SOLID - SRP、OCP、DIP
  • スプリングコンテナとスプリングビン
    • スプリングコンテナ - IoC、DI
    • 依存関係の注入
    • 空の生成サイクルとスコープ

スプリングコア原理 - 上級編

  • スプリングコアデザインパターン
    • テンプレートメソッドパターン、戦略パターン、テンプレートコールバックパターン、プロキシパターン、デコレータパターン
  • スレッドローカル
    • 並行性問題、マルチスレッド、スレッドローカル
  • Spring AOP
    • 概念、動作原理、実践例、注意事項

キム・ヨンハンのスプリングコア原理基本編
オブジェクト指向設計、ばねの主な原理と機能

ばねの原理から核心価値まで

単にスプリングが提供する機能を学び、使用することは難しくありません。ちなみに、Springが提供する重要な価値と原則を正しく理解して使用するには、大きな難関に遭遇します。なぜなら、IoC(制御の逆転)、DI(依存関係注入)のようなわかりやすい用語から、SRP、OCP、DIPといったいわゆるSOLIDと呼ばれる良いオブジェクト指向設計の原則も一緒に理解しなければ、初めてスプリングの核心原理をきちんと把握できるからです。

Springの真の重要な価値は、オブジェクト指向プログラミング(OOP)です。そして、スプリングを正しく理解するのが難しいのは、このオブジェクト指向のためです。次のレベルのバックエンド開発者に成長するには、Springが提供する重要な価値と原則を深く理解する必要があります。

この講義はスプリングがなかった20年前に戻り、スプリングがなぜ作られたのかその理由から始まります。そして、私たちもその時に戻って、春のない純粋なJavaコードでサンプルアプリケーションを作成します。要件が変更されるにつれて問題が1つずつ見つかり、問題を解決するために、良いオブジェクト指向の原理を1つずつコードに適用しながら問題を解決していきます。この過程の中で、あなたは自然にコードで良いオブジェクト指向の原理(SOLID)とIoC、DIについて理解し、スプリングコンテナがなぜ必要なのかを理解することができます。

Springの主な原理を単に理論的に理解するのではなく、サンプルアプリケーションを直接コードで開発する過程で自然に理解することになります。

講義目次

  • 1. オブジェクト指向設計とばね
  • 2. スプリングコアの原理を理解する1 - 例を作る
  • 3. スプリングコア原理の理解2 - オブジェクト指向原理の適用
  • 4.スプリングコンテナとスプリングビン
  • 5. シングルトンコンテナ
  • 6. コンポーネントスキャン
  • 7. 依存関係の自動注入
  • 8. 空のライフサイクルコールバック
  • 9. 空のスコープ

講義の前半(1〜3)では、このようにオブジェクト指向とスプリングの重要な原理について説明します。その後、4. SpringコンテナとSpring Beanから、Springが提供する重要な機能について説明します。各コア機能がなぜ作成されたのか、どこでなぜ必要なのか、そして最も重要な実務でどのように使用されるのか、この部分に焦点を当てて説明します。

そのため、スプリングの機能を単に使用する段階を超えて、実務でどのように活用するのが良い方法かを正しく理解して使用することができます。

この講義を聞いた後

このレッスンは、単にSpringリファレンスドキュメントの機能の1つを説明するレッスンではありません。機能を超えてなぜスプリングを作り、なぜスプリングがこのような機能を提供するのか、その理由とコア原理について説明する講義です。

講義が終わったら、あなたはスプリングの基本的な機能をうまく使うことはもちろん、スプリングの本質について深く理解することになります。ばねの本質を理解することは、オブジェクト指向設計の本質を理解することと同じです。したがって、単にSpringの機能のみを使用する開発者から、オブジェクト指向アプリケーションの設計とアーキテクチャレベルまで悩む開発者に成長することができます。

講義対象

春を初めて
接する開発者

春のコア原理
わかりやすい開発者

オブジェクト指向設計
悩みの開発者

キム・ヨンハンスプリング入門
受講生

スプリングコア原理講義は、スプリングに初めて接する開発者から、実務でスプリングを使用しますが、スプリングのコア原理を正しく理解して使用したい開発者の方々のために用意しました。そして、オブジェクト指向設計に悩む多くの開発者の方にも役立ちます。

これから続く
スプリング完全征服シリーズ

スプリングを完全にマスターできるシリーズを用意しています。実際の実務で使用するコアスプリング機能を中心に、実務で使われていないか古い機能は果敢に省略した実務ノウハウを伝授していく予定です。

講義順


関連ロードマップ

スプリング完全征服シリーズ
スプリングをスマートに始める、
核心原理から実戦活用この講義を含む

スプリングブート+ JPA実務完全征服
最新の実務技術でウェブアプリを
作りながら学習したいなら、本番深化段階

こんな方に
おすすめです

学習対象は
誰でしょう?

  • スプリングを初めて触れる開発者

  • 開発者就職準備生

  • スプリングをコードで簡単に理解したい開発者

  • スプリングを学んだが、難しくて諦めていた開発者

  • 実務でSpringを使用しているが、Springの核心原理をきちんと理解して使用したい開発者

前提知識、
必要でしょうか?

  • Java言語

こんにちは
です。

552,826

受講生

36,140

受講レビュー

8,952

回答

5.0

講座評価

24

講座

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

 

저의 개발 인생 이야기

EO 인터뷰 영상

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

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

 

カリキュラム

全体

65件 ∙ (12時間 5分)

講座資料(こうぎしりょう):

授業資料
講座掲載日: 
最終更新日: 

受講レビュー

全体

4,525件

5.0

4,525件の受講レビュー

  • OMG님의 프로필 이미지
    OMG

    受講レビュー 205

    平均評価 5.0

    5

    100% 受講後に作成

    스프링을 처음 공부했을 때 이게 왜 필요한지, 어디에-어떻게-어떨 때 쓰는지 이해가 잘 가지 않아 책이며 인터넷 강의며 많은 자료들을 찾으면서 공부하였는데요. 스프링 공부를 시작할 때 영한 님의 강의가 있었다면 제가 처음 스프링 공부할 때 겪었던 어려움과 고생이 줄지 않았을까 생각합니다. 스프링 강의가 스프링 강의 전, 객체지향으로 시작하는 구성은 처음 봤는데 영한님은 개발뿐만 아니라 가르침에도 엄청난 능력이 있으신 거 같아요. 영한님 강의 구성을 통해 무엇이 핵심이고 본질인지 파악했고, 그것을 강의 시작으로 녹여낸다는 게 정말 대단하단 말밖에 나오지 않네요. 만약 강의를 다 보고도 이해가 잘 가지 않거나, 강의가 정말 좋은가?라고 의문을 품고 계시다면 책, 인터넷 등을 활용해서 공부하시고 나서 복습하시면 시야가 넓어지면서 전에는 이해하지 못 했던 게 다시 보면 이해되고 이걸 이렇게 쉽게 설명해 주셨다고 느끼는 부분들이 있을 거예요(이 점이 인강의 장점이라 생각하고, 제가 영한님 jpa 강의 보고 느낀 경험담입니다..ㅎㅎ) 그리고 강의에서 다루는 bdd 스타일, assertj 등은 처음 보시면 낯설 텐데 키워드 던져주시는 것들 구글링해서 학습하시면 많은 도움 될 거라 생각합니다. 다음 강의도 기대하겠습니다.

    • 김영한
      知識共有者

      OMG님의 멋진 수강평을 들으니, 이번 강의를 준비하면서 고민했던 저의 솔직한 이야기를 남기고 싶네요. 사실 이번 강의는 정말 고민이 많았습니다. 단순히 스프링의 기능을 하나하나 풀어서 설명하는 강의는 쉽게 만들 수 있다 생각합니다. 그런데 이 강의는 제가 스프링을 통해서 느낀 스프링의 진정한 가치를 전달하고 싶었습니다. 스프링의 기능을 단순히 사용하는 것을 넘어 객체지향의 진정한 가치를 이해하고 객체지향과 스프링을 통해 애플리케이션을 디자인하고 설계하는 즐거움이 무엇인지 알려드리고 싶었습니다. 그럴려면 스프링의 기능을 하나하나 풀어서 설명하는게 아니라, 결국 객체지향 이야기 부터 시작해야 합니다. 특히 객체지향 자체의 이야기를 쉽게 풀어내고 그걸 스프링과 엮어야 하는데, 스프링에 입문 하신 분들께 객체 지향을 어떻게 하면 최대한 쉽게 풀어서 설명할지, 그리고 그걸 어떻게 스프링과 엮어서 설명할지가 정말 어려웠습니다. 결국 몇달동안 제 머리속의 퍼즐을 이렇게 맞추어보고, 저렇게 맞추어보고, 예제코드도 이렇게 만들고 저렇게 만들어보면서 기본흐름을 완성했습니다. 그리고 스프링에 입문 하신 분들이 이 내용을 이해할 수 있을까? 고민하면서 최대한 이해하기 쉽게 다듬고 또 다듬었습니다. 제가 강의를 만들 때는 노트북 앞에 앉아서 강의를 만들기도 하지만, 큰 흐름을 만들 때는 주로 산책을 하면서 생각하는게 좋더라구요. 그래서 이번 강의는 참 많이 걸어다녔어요 ㅎㅎ 덕분에 많이 건강해졌습니다. ㅋㅋㅋ OMG님께서 제가 고민한 흔적들을 알아봐주셔서 그게 참 고맙습니다.

    • 일과병행을하다가보니중간부터듣지못했는데연장을해주시면안될까요너무좋은강의라생각됩니다

  • Yj Jang님의 프로필 이미지
    Yj Jang

    受講レビュー 1

    平均評価 5.0

    5

    100% 受講後に作成

    김영한님 어디계세요?? 앞으로 자기 전에 그 쪽으로 절하고 자려구요.. 좋은 강의 너무 감사합니다

    • 김영한
      知識共有者

      ㅎㅎㅎ Yj Jang님 고맙습니다. 동쪽입니다. ㅋㅋ

  • 임태양님의 프로필 이미지
    임태양

    受講レビュー 2

    平均評価 5.0

    5

    100% 受講後に作成

    말이 필요있을까요? 뛰어난 강의력, 철저한 강의 준비, 인터넷 강의 들으면서 이렇게 잘 준비된 pdf 자료나 지루하지 않은 수업을 들어본적은 없는거 같네요 ㅎㅎ. 취업하기이전 면접을 준비하던때 이 강의를 들었다면 적토마를 탄 여포가 되어 면접을 보았을텐데 ㅎㅎ.. 강의 잘 들었습니다. 후속편도 나오면 바로 들으러 가겠습니다!.

    • 김영한
      知識共有者

      고맙습니다. 태양님. 면접관들이 스프링 관련 질문을 많이 물어보았나보네요. ㅎㅎ 저는 그럼 다음 적토마 준비하러 가겠습니다^^!

  • Rammus님의 프로필 이미지
    Rammus

    受講レビュー 2

    平均評価 5.0

    5

    100% 受講後に作成

    스프링 입문부터 시작해서 DB 2편 강의보고 있습니다. 아마 조만간 로드맵을 모두 완료하지 않을까 싶네요. 사실 김영한님 로드맵 전체에 대한 수강평인데, 여기 기본편에다 남기는게 맞나 싶긴 합니다만 그래도 여기에 쓰겠습니다. 본인이 3년차 이하 주니어다? `무조건` 들으세요. 비하할 생각은 없지만 자신의 회사가 중소기업 또는 si 다? `무조건` 들으세요. 김영한님의 로드맵은요 그냥 단순한 지식 제공을 떠나 진짜 개발자의 사고방식을 레벨업 시키는 명품강의입니다. 현업에서 개발하시는 분들 공감하실겁니다. 이 개발자라는 직업이 사실은, 지식의 빈부격차가 정말 심한 직업입니다. 다시 말해 똑똑한 개발자들은 정말 너무 똑똑하고요. 무식한 개발자는요 솔직히 코더라는 멸칭도 있을만큼 그냥 생각없이 적당히 복사, 붙여넣기하며 하루하루 버티며 일을 합니다. 그런데 여기서 중요한 것은 무식한 개발자라고 해서 본인이 원해서 무식한 개발자가 된 사람은 없을거라는거에요. 자신이 부족하다는 걸 알아도 도무지 `어떻게 공부해야 하는지`자체를 모릅니다. 인터넷 검색으로 뒤져가면서 공부한다? 솔직히 틀린 말이라고 생각합니다. 기술 블로그라고 해서 올라오는 것들 보면 맞는 말도 있겠지만, 틀린 정보도 너무 많고 단편적인 내용이 많아서 진지한 학습에는 도움이 안됩니다. 또 책을 사서 공부해보려고 하니 다들 출간된지 2, 3년은 지난 책들이고 그 사이 버전업에 따른 차이라든지, 기술 스펙 변화라든지 이런게 너무 많아서 현실적으로 트렌드를 따라가지 못한다는 느낌이 듭니다. 그리고 이런 상황에서 개발자도 직장인이라 주어진 업무해야 합니다. 꾸역꾸역 어떻게든 돌아가는 코드를 만들고 또 다음 업무를 하고.. 그렇게 일상은 반복되고 어느 순간부터는 그저 관성적으로 하루하루를 버티는 개발자가 되는거죠. 그런데 김영한님의 강의를 들으면서 느꼈던 것은 `어떻게 공부해야` 좋은 개발을 할 수 있는지 그 공부 방법을 깨닫게 되면서 깊은 감명이 있었다는 겁니다. 또한 강의 중간에 말씀해주시는 실무에서 겪는 문제들과 해결 방법 같은 소소한 팁들.. 이건 말로 어떻게 설명해야 될지 모르겠네요. 진짜 어디가서 돈 주고도 못 배우는 귀중한 노하우들입니다. 소위 네카라쿠배라고 불리는 탑티어 IT 회사들의 개발자들은 어떻게 고민하고 문제를 풀어나가는지를 배울 수 있는 아주 소중한 지식이라고 말하고 싶네요.. 그러니 개발자 취업을 준비하시는 분이라면 꼭 들으시구요. 현직에 계신 분들도 꼭 듣기를 추천하는 바입니다. 가끔 수강료 때문에 고민하시는 분들 있는데.. 사람마다 경제적 상황은 다르니 쉽게 말할 수 없지만 그래도 꼭 들으십시오. 진짜 후회 안합니다.. 그리고 마지막으로 김영한님. 선생님 같은 분이 계셔서 저 같은 개발자도 사람될 수 있었습니다. 앞으로도 건승하시고 강의 많이 찍어주시길..

    • 김영한
      知識共有者

      Rammus님 수강평을 보니 제가 강의하기를 참 잘했다는 생각이 드네요. 저도 좋지 않은 회사나 힘든 SI 프로젝트에서 많이 고생을 해보아서, 말씀하신 지식의 빈부의 격차라는 것이 어떤 것인지 잘 이해하고 있습니다. 제가 소위 말하는 좋은 서비스 회사에서 일할 때 보면, 생각보다 많은 개발자들이 처음부터 좋은 회사에 취업한 것이 아니라, 작은 회사나 SI 부터 시작해서 올라오신 분들도 많이 있습니다. 그 분들의 공통점은 모두 좋은 개발자가 되기 위해, 어떻게 하면 더 나은 방법으로 개발할 수 있는지 끊임없이 고민한 분들이었습니다. Rammus님은 지금 상황이 어떻든 간에 더 좋은 개발자가 되기 위해 지속적으로 노력하시는 분이라는 생각이 듭니다. 응원합니다. 그리고 크게 성장하는 2024년 되시길 바래요 :)

  • 허문회님의 프로필 이미지
    허문회

    受講レビュー 9

    平均評価 5.0

    5

    100% 受講後に作成

    중, 고등학생 때도 인터넷 강의를 듣는걸 선호하지 않았는데, 이번 강의는 정말 재밌게 잘 들었습니다. 원리도 모르고 쓰던 기능들을 이젠 어느정도 이해하고 쓸 수 있게 되었네요. 다음 강의도 기대하겠습니다. 하하

    • 김영한
      知識共有者

      고맙습니다. 현근님^^ 강의가 확실히 전달하는 입장에서도 코드를 바꾸는 과정을 쉽게 설명할 수 있어서 편한점이 많더라구요. 저도 다음강의 열심히 준비할께요.

¥10,375

yhの他の講座

知識共有者の他の講座を見てみましょう!

似ている講座

同じ分野の他の講座を見てみましょう!