Springフレームコア


スプリングって何?
Springはオープンソースフレームワークであり,エンタープライズアプリケーション開発の複雑さを解決するために開発された.単純性、テスト性、および緩和結合の観点から、どのJavaアプリケーションもSpringから利益を得ることができます.
簡単に言えばSpringは軽量レベルの制御反転(IoC)と切面(AOP)向けの容器フレームワークである.
 
次にSpringの主な特徴を全体的に認識します.
★軽量:Springは大きさとオーバーヘッドの両方から軽量です.また、Springは非侵入的です.Springを使用すると、私たちのクラスはpojoクラスで、Springのクラスやインタフェースなどを継承したり実現したりする必要はありません.
つまり、Springを使用するアプリケーションのオブジェクトはSpringの特定のクラスに依存しません.
★IoC:Springは制御反転技術により松結合を促進した.IoCが適用されると、1つのオブジェクトに依存する他のオブジェクトは、そのオブジェクト自身が依存オブジェクトを作成または検索するのではなく、受動的に渡されます.IoCはJNDIとは逆に,我々自身がコンテナからの依存を制御するのではなく,コンテナがオブジェクトの初期化時にオブジェクト要求を待たずに自発的に依存を伝達するのがDI依存注入であると考えられる.
基本的には、オブジェクトを自分で管理したり作成したりする必要はありません.完全に容器で管理されています.私たちはただ使えばいいです.
★AOP:Springは切面向けのプログラミングサポートを提供しており、AOPはプログラムビジネスに関係のないコンテンツを分離して抽出し、アプリケーションオブジェクトはそれらがすべきことを実現するだけで、ビジネスロジックを完成するだけである.ログやトランザクションのサポートなど、他のシステムレベルの注目点を担当するわけではありません.
AOPは業務に関係のない論理を真の論理に横断する.
★コンテナ:Springはアプリケーションオブジェクトの構成とライフサイクルを含み、管理します.この意味では、各beanがどのように作成されるかを構成するコンテナです.構成可能なプロトタイプ(prototype)に基づいて、あなたのbeanは、個別のインスタンスを作成したり、必要に応じて新しいインスタンスを生成したりすることができます.それらがどのように関連付けられているかを確認します.しかし、Springの容器も軽量級です.
★フレーム:Springは簡単なコンポーネント構成、組み合わせを複雑なアプリケーションにすることができます.Springでは、アプリケーションオブジェクトは宣言的に結合され、典型的にはXMLファイルに含まれます.Springは多くの基礎機能(トランザクション管理、永続化フレームワーク統合など)を提供しており、ユーザーはアプリケーションロジックの開発に多くの時間と精力を持っています.
 
Springのこれらの特徴は、よりクリーンで管理性が高く、テストが容易なコードを作成するのに役立ちます.Springのさまざまなモジュールにも基本的なサポートを提供しています.        
Springのメリットを具体的に見てみましょう.
         
★Spring,栄国依存注入,AOPアプリケーション,インタフェース向けプログラミングにより,ビジネスコンポーネント間の結合度を低減し,システムの拡張性を向上させる.
★既存のテクノロジーとフレームワークをより使いやすくします.
★hibernateのSessionFactory、トランザクション管理のパッケージを利用して、hibernateをより簡潔に適用します.
★SpringはSpringに完全に依存するものではなく、開発者はSpringフレームワークの一部または全部を自由に選択できる
★AOP思想を利用して、業務ロジックを集中的に処理し、重複コードを減らし、優雅なソリューションを構築する.
★低侵入設計で、コード汚染が極めて低い.
 
SpringはJ 2 EEアプリケーションの各層のソリューションに力を入れているが,ある層のソリューションだけに集中しているわけではない.Springは、エンタープライズアプリケーション開発の「ワンストップ」選択であり、表現層、ビジネス層、持続層を貫いていると言えます.
Springはプロジェクト全体の問題をワンストップで解決できますが、Springは既存のフレームワークに取って代わるのではなく、シームレスに統合したいと思っています.Springは、Struts、Hibernate、Hessian、Quartzなど、さまざまな優れたフレームワークの直接的なサポートを提供し、さまざまなフレームワークの使用難易度を低減することができます.
Springの主な目的はJ 2 EEを使いやすくし、良いプログラミング習慣を促進することであり、Springの目標は既存の技術をより使いやすくすることである.
Springの重要なアイデアの一つは統合と互換性ですそのためSpringを使うと、ベストでなくても、もっと良くなります.
IOC        ,                        new   
pulic OneFoo 
{ 
void method () 
{ 
AnotherFoo anthorFoo=new AnotherFoo ();\ 
//        
} 
} 
 Spring          (    goolgle)               
pulibc OneFoo 
{ 
public AnotherFoo aFoo; 
public void setAnotherFoo(AnotherFoo aFoo){} 
public void method() 
{ 
aFoo.doSomething(); 
} 
} 
             new            ioc 

aop        ,         ,   ,       ,              ,        (Spring        ),      log  , 
   log                log,   aop       ,                           log.