ホームページ > Java > &#&チュートリアル > 春のフレームワーク学習(1)

春のフレームワーク学習(1)

黄舟
リリース: 2016-12-29 13:07:52
オリジナル
1610 人が閲覧しました

1. Spring フレームワークとは何ですか? Spring は、主に javaBeans のライフサイクルを管理する軽量のコンテナーです。 、ibatisフレームワークなどを組み合わせて使用​​します。


2、アーキテクチャの概要

春のフレームワーク学習(1)

1) IoC (コントロールの反転) コントロールの反転、オブジェクト作成責任の反転 春では、BeanFacotory は IoC コンテナーのコア インターフェイスであり、インスタンス化、配置、プログラム内のオブジェクトの構成と、これらのオブジェクト間の依存関係の確立。 XmlBeanFactory は BeanFactory インターフェースを実装し、XML 構成ファイル データを取得することでアプリケーション オブジェクトとオブジェクト間の依存関係を形成します。

Spring には 3 つの注入方法があります。1 つはセット注入、1 つはインターフェイス注入、もう 1 つはコンストラクター注入です。

2) AOP アスペクト指向プログラミング
AOP は垂直プログラミングです。下図に示すように、業務 1 と業務 2 の両方に同じコードを追加するのではなく、共通の操作が必要です。一度、両方の企業がこのコードを一緒に使用できるようにします。

Spring でアスペクト指向変換を実装するには 2 つの方法があります。1 つは動的プロキシで、もう 1 つは CGLIB です。動的プロキシはインターフェイスを提供する必要があり、CGLIB 実装には継承があります。

3. Spring フレームワークを使用する理由 Spring フレームワークを使用する前は、サービス層で dao 層オブジェクトを使用し、サービス層で新しいオブジェクトを作成する必要がありました。以下の通り:

//dao层对象
public class UserDao{
   publicvoid insert(User user){}
}
 
//service层对象
public classUserService{
   publicvoid insert(User user){
       UserDaouserdao = new UserDao();
       userdao.insert(user);
   }
}
ログイン後にコピー

既存の問題: レイヤー間の依存関係。

フレームワークを使用した後:

//dao层对象
public class UserDao{
    publicvoid insert(User user){}
}
 
//service层对象
public classUserService{
   privateUserDao userdao;
 
   publicUserDao getUserdao() {
      returnuserdao;
   }
   publicvoid setUserdao(UserDao userdao) {
      this.userdao= userdao;
   }
 
   publicvoid insert(User user){
      userdao.insert(user);
   }
 
}
ログイン後にコピー

サービス層でdao層オブジェクトを使用するには、オブジェクトの作成方法と関係の結合方法はxml設定ファイルで設定する必要があります。実装するスプリングフレームワーク。

4. フレームワークの利点

軽量のコンテナフレームワークは煩雑ではありません
IoCコンテナを使用すると、オブジェクト間の直接の関係、インターフェイス指向のプログラミングを簡単に組み合わせ、結合を軽減できます
Aopはより簡単に機能を拡張し、OCP開発原則に従うことができます
作成されたオブジェクトはデフォルトでシングルトンであり、処理にシングルトン モードを使用する必要はありません


5. 欠点: ビジネス関数は Spring 固有の関数と Spring 環境に依存します。

上記は Spring Framework 学習 (1) の内容です。その他の関連コンテンツについては、PHP 中国語 Web サイト (m.sbmmt.com) をご覧ください。


ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート