ばね容器


コンテナ。


コンテナは、オブジェクトの作成と消滅を制御し、これらのオブジェクトによって作成されたインスタンスに追加の機能を提供します.

オブジェクト、クラス、インスタンス

  • オブジェクトはソフトウェア世界で
  • を実施する.
  • クラス(クラス)は、実施対象の設計図(方法)
  • である.
  • の例は、ソフトウェアの世界でクラス別に実装エンティティ(結果)
  • である.

    スプリングコンテナ。


    スプリングによって生成されるbeanの生成、消失、使用、およびライフサイクルを管理します.
    beanを作成すると、スプリングコンテナに格納され、開発者がbeanを注入したい場合は、スプリングコンテナに注入されます.
    ここで,開発者はbeanのみをスプリング容器に登録し,必要に応じて直接beanを入れ,スプリング容器を介して注入を受ける主体が変化する現象をIoC(制御権の逆転)と呼ぶ.

    IoC(制御権の逆転)


    オブジェクトの作成から消滅に至るまで,ライフサイクルは開発者によるものではなく,Springコンテナによる開発者の要請による甲乙関係が変化した.

    Iocのメリット

  • 開発者の負担軽減->コード簡略化
  • 開発者が制御するオブジェクトをスプリングコンテナに導入し,開発者が直接オブジェクトを管理する必要がなく,スプリングコンテナに要求すればスプリングコンテナは自分で処理する
  • オブジェクト間の依存性を低減->コード修正が容易
  • 各オブジェクトに必要な機能がある場合は、直接作成するのではなく、スプリングコンテナにインポートして使用します.変更がある場合は、スプリングコンテナに登録されているbeanを変更するだけで、beanを使用するオブジェクトを含むオブジェクトを変更できます.

    Iocフィーチャーを持つスプリングコンテナタイプ


    BeanFactory


  • beanを登録、作成、表示するなど、beanの役割を管理します.

  • Lazy loadding->getBean()の呼び出し時にBeanのインスタンス化を開始
  • ApplicationContext

  • BeanFactoryを継承します.
  • BeanFactoryの拡張拡張コンテナ.
  • 国際化管理でサポートされているテキスト情報.(UTF-8韓国)
  • として登録されたリース者のビンにイベントが発生したことを通知します.
  • 通常springbootを使用します.

  • スプリング容器付きのデザインモード(少し辛味)


    SingleTon Pattern


    スプリングはSingleTonPatternパターンを使用しています.JavaではSingleTonPatternも使用できますが、エラーや欠点が多すぎます.しかし、スプリングはこれらの欠点と誤りを改善している.(Spring開発者への無限の賛辞と感謝...)

    what's that?


    SingleTonPatternは、インスタンスを1つの範囲に制限し、世界中でどこでもアクセスできるようにする設計モデルです.Springでは、springコンテナはすべてのbeanを単一色調で管理します.
    スプリングコンテナでbeanをインスタンス化すると、Benaが呼び出されるたびにインスタンス化beanが返されます.すなわち,beanを一度だけインスタンス化し,それを共有する.
    これにより、呼び出しのたびに新しいインスタンスが生成されないため、共有インスタンスはメモリの無駄を回避できます.共通対象の再生防止
    public class example(){
    	private final testRepository test1;
        	private final testRepository test2;
    	// testRepository는 스프링 컨테이너에서 바로 인스턴스화 시켜놓고 대기함
            // example class와 같이 호출이 되면 미리 인스턴스화 시킨 testRepository를 반환해줌
            //test1과 test2는 같은 testRepository의 인스턴스를 공유함
        
        
        
        	System.out.println(test1);
        	System.out.println(test2);
        	// test1과 test2의 출력 값이 같다. 
    }
    

    SingleTon Patternの問題

  • の上のコードのように、プライベートジェネレータがあるため、継承できません.
  • のテストコード
  • を作成するのは難しいです.
  • の状態を維持するように設計することはできません.-マルチスレッドであり、同じインスタンスを共有するとエラーが発生するため、ステータスを使用して終了する必要があります.
  • https://velog.io/@jaeeunxo1/spring-singleton
    https://shxrecord.tistory.com/132
    https://sabarada.tistory.com/25
    https://joont.tistory.com/144