Spring Date For Spring Day (2)


MVCとは?


MVCはソフトウェアエンジニアリングで使用されるSW設計モードであり、モデル-ビュー-コントローラと呼ばれる.
Spring MVCは、MVCモードに基づくWebフレームワークを意味する.
  • 型番:「データ」設計(ex.カタログ、注文履歴など)
  • ビュー:
  • (ex.jspファイル)
  • コントローラ:「ユーザ要求に応答するロジック」(ex.GETなどのuriマッピング)
  • Webサーバ向けに構築されたモジュールなので、開発者が必要とする作業は少ない.
  • は既存のSpringよりも簡潔で開発しやすい.
  • MVCモデル2アーキテクチャ


  • 「前述の『Strattz 2』で使われているMVCモデル2がこれなんですよね…!」


  • Spring Frameworkの構造



  • DI (Dependency Injection)


    DIとは何ですか。

  • は、SpringのDIコンテナによって管理される依存性を注入することを意味し、直接新規作成することによってオブジェクトを作成するのではない.
  • DIコンテナとは?

  • Springが管理するオブジェクトをSpring bin(=javaオブジェクト)と呼び、管理するボックスをDIコンテナと呼びます.
  • これは、外部から
  • オブジェクトを作成し、setterまたはジェネレータに注入することを意味します.
  • コンテナによって管理されるため、開発者はオブジェクトの生成に関心を持つ必要はありません.
  • スプリングでは、AplicationContextをスプリング容器と呼ぶ.
  • 理解しましたが、文字よりも画像で見ると、もっと長く覚えられるようなので探してみました.

    実際のコードで見てみましょうか?
  • 一体式
  •   class A
      {
        private B b;
    
        public A(){ 
          b = new B();    // 안에서 생성
        }
      }
  • 組合せ型
  •   class A
      {
        private B b;        // new를 통해 생성하지는 않습니다.
    
        public void setB(B b){      // 외부에서 생성된 B의 값을 setter를 통해 주입해줍니다.
          this.b = b;
        }
      }
    アセンブリタイプは、Aという部品にBという部品を個別に作成し、setB(B)でアセンブリします.
    そして注入には2つの方法がある.
  • Setter Injection:上記のアセンブリ例は、setB()関数に示すように、set関数によってBをAにアセンブリすることを示しています.
  • 構造注記:Aの作成者パラメータにBを挿入して組み立てることを示す.
  • IOC (Inversion Of Control)


    制御反転とは、クライアントが制御オブジェクトではなく外部制御によってオブジェクトを管理することを意味する.
    使用するオブジェクト(setter、ジェネレータなど)を直接宣言するのではなく、オブジェクトを注入して使用する方法を指します.

    Spring IOC容器

  • IOC機能を提供するコンテナで、中にはbeanたちが入っています.
  • bean定義の検索、組織、および提供の役割を果たす.
  • 1. BeanFactory


    beanの作成、設定、管理を担当します.

    2. ApplicationContext


    BeanFactoryを継承しているので、BeanFactoryと同じようなことをしていると言えるでしょう.

    3. Bean


    コンテナ内のオブジェクトは、使用するにはコンテナから取得する必要があります.
    複数のコメントを使用して、通常のオブジェクトをbeanとして登録できます.beanに登録されているオブジェクトを簡単に注入して使用することもできます.
    依存性注入は豆の間でしか行われないそうです.

    beanの役割ドメイン

  • モノトーン:
  • を使用して1つのみ作成
  • プロトタイプ:異なるオブジェクトを使用するたびに
  • オブジェクトがbeanに登録されている場合、コメントが追加されていない場合、beanは単一トーンscopeに登録されます.
    コンテナに予め作成されたオブジェクトが使用されるため、メモリやパフォーマンスの最適化に役立ちます.
  • 次の記事:Spring Date For Spring Day (3)2
  • リファレンス

  • MVCモードとは?
  • SpringのDIとは?
  • Spring Binとは?