Spring]Spring Frameworkの特性


Spring Framework


Javaを使用してさまざまなアプリケーションを作成するための軽量レベルのオープンソースフレームワーク

Springの特性

  • Plain Old Javaオブジェクトフレームワーク
  • 制御反転サポート
  • 依存注入
  • 観点向けプログラミング
  • Spring MVCモード
  • を使用

    POJO(Plain Old Java Object)


    特定のJavaモデル、機能、またはフレームワークを考慮しないJavaオブジェクト
    GetterとSetter(EJBJava Bean以外)からなる最も純粋な基本クラス.

    IoC(Inversion of Control)


    コントロールの逆転
    開発者がオブジェクトを直接制御するのではなく、外部が制御する
    Spring Springのコンテナでオブジェクトを制御する
    オブジェクトの作成からライフサイクルの管理まで、すべての制御は外部から行われます.
    オブジェクト間の結合を減らすことで、柔軟なコードを記述できます.
    IOCはDIとAOPを可能にした

    DI(Dependency Injection)


    依存性注入
    オブジェクトを直接作成するのではなく、外部からオブジェクトを作成して注入します.
    //new를 이용해 직접 객체 생성
    public class AService{
        private ARepository aRepository = new ARepository();
    }
    //외부에서 주입 받음
    public class AService{
        private ARepository aRepository;
        public AService(ARepository aRepository){
        	this.aRepository = aRepository;
        }
    }

    AOP(Aspect-Oriented Programming)


    観点に向けたプログラミング
    分散した観点(注目点)を集約してモジュール化し,重複する部分を分けてモジュール化する.

    Spring MVCモード


    アプリケーションを3つのセクション(モデル、ビュー、コントローラ)に分割する設計モード
    モデルもでる:アプリケーションの情報(データ)あぷりけーしょんのじょうほう
    View:ユーザーが表示するコンテンツ
    コントローラコントローラ:ユーザーの要求に基づいてイベントを実行する

    Spring Boot


    Springの設定が難しいのは、改善のためです.
  • Spring Boot内部にはTomcatが含まれており、Tomcatをインストールしたりバージョン管理したりする必要はありません.
  • pom.xmlまたはbuild.gradeのstarterで依存項目を自動的に管理できます
    - spring-boot-starter-*
  • XML
  • を設定する必要はありません
  • jar fileは、Javaオプションによる
  • の容易な導入をサポートします.
    ソース
    https://jins-dev.tistory.com/entry/Spring-%EC%9D%98-%EA%B8%B0%EB%B3%B8%EC%9D%B4-%EB%90%98%EB%8A%94-POJO-%EC%97%90-%EB%8C%80%ED%95%98%EC%97%AC
    https://velog.io/@gillog/Spring-DIDependency-Injection
    https://mo-world.tistory.com/entry/IOC%EC%99%80-DI-%EC%97%90-%EB%8C%80%ED%95%98%EC%97%AC-%EC%8A%A4%ED%94%84%EB%A7%81-%EA%B0%9C%EB%85%90-%EC%9D%B4%ED%95%B4%ED%95%98%EA%B8%B0-%EC%89%BD%EA%B2%8C-%EC%84%A4%EB%AA%85
    https://engkimbs.tistory.com/746
    https://ooeunz.tistory.com/56