春の日の学習
コンセプト総務
転送プロセスは、データベースが転送エラーにつながる、異常の過程で現れるの更新
のみロールバックすることができ、トランザクションがコミットすることはできません
、提出のプロセスと複数のデータベース接続の出現を、それが接続操作であるべきの使用ThreadLocal
オブジェクトをConnection
、現在のスレッドバインディング、スレッドがあるように、1つのオブジェクトのみがトランザクションを制御することができます。
動的プロキシ
特徴:使用の装填で、作成するバイトコードでの使用
の効果:拡張方法は、に基づいてソースコードを変更しない
分類:
インタフェースに基づいて
サブクラスに基づきます
ダイナミックエージェントインタフェース
クラスは、関係:プロキシ
プロバイダ:JDK公式を
-
代理オブジェクト作成
プロキシの使用newProxyInstance
方法
:パラメータ
ClassLoder
:プロキシオブジェクトバイトコードのローディング、プロキシと同じオブジェクト・クラス・ローダ
Class[]
(同じインタフェースを達成するために)を作るプロキシオブジェクトとプロキシオブジェクトと同じように:
プロデューサ.getClass()でgetInterfaces();.
InvocationHandler
:強化されたコード、エージェントは、一般的に実装し、このインタフェース、通常、匿名の内部クラス(必須ではありません)というクラスを作成する方法レッツ・書き込み、このインタフェースを実装するクラスを提供するために、誰が書いています -
代理オブジェクト要求を作成することは
少なくとも使用されていないインタフェースのプロキシクラスが実装され、
ダイナミックプロキシサブクラス
クラスは、関係:エンハンサー
で:サードパーティのjarパッケージをcglib
- 代理オブジェクトの作成
用いたEnhancer
クラスのcreate
メソッドの
パラメータ:
Class
バイトコードを、バイトコードプロキシオブジェクトが指定されている
Ccllback
:インタフェースの典型的に書かれたサブインターフェースクラス:MethodInterceptor
- 演技のクラスがするように指示され
、最終的なクラスではありません
AOP
アスペクト指向プログラミング(アスペクト指向プログラミング)
保守機能のために事前にコンパイルされ、動的エージェント均一な手順を介して技術、の関数型プログラミングYanshengファンタイプ
役割:既存の方法の強化時プログラム実行にソースコードを変更する
利点を。
コードの重複を減らす、開発効率の向上、メンテナンスが容易
春AOP
- AOP関連の用語は
JointPoint(接続点)
中指が春方法、接続方法支持体のばねタイプ点のみであり、ポイントをインターセプト
ポイントカット(エントリポイント)
どのJointPoint切片を定義するには、この方法が向上する
インタフェースJointpoint全て方法、ポイントカットが強化されたすべてのメソッドは、メソッド
のアドバイス(通知/強化)
傍受操作Jointpointの後に作られた
通知の種類:通知フロント、リアの通知、異常通知(キャッチをしてみてください)、最終通知(最終的に)、囲まれて通知
にあたって(通知を導入する)
特別な通知は、実行時に前提クラスコードを変更せずに、はじめに動的に追加することができるか、またはクラスのフィールドの方法。
標的(ターゲットオーディエンス)
プロキシオブジェクトは、プロキシオブジェクト
ウィービング(製織)を
増強を指す新しいプロキシオブジェクトを作成するプロセスを対象物に適用することができます。
エージェントの動的ばね製織、製織AspectJのコンパイルと織りのクラスローディング使用しながら、
プロキシ(代理)
AOP補強織布された後のクラスは、得られたプロキシクラスを生成する
アスペクト(カット)を
ポイントカットし、通知手段を結合します