Springフレームワークの重要な知識点のまとめ(三)
一、AOPって何?
1、AOP(切面プログラミング向け)は、業務ロジックの各部分を隔離することで、業務ロジックの各部分間の結合度を低下させ、プログラムの再利用性を向上させるとともに、開発の効率を向上させる.2、AOPは、従来の縦継承システムの重複コードに代わって横抽出メカニズムを採用している(パフォーマンス監視、トランザクション管理、セキュリティチェック、キャッシュ)
二、なぜAOPを学ぶのか.
実行中にソースコードを変更せずに既存のメソッドを強化できるためです.
三、AOPの強みは何ですか.重複コードを減らす.開発の効率を提供する.メンテナンスが便利 四、AOPの基礎原理
JDKの動的エージェント技術(主な)
1、インタフェースのためにプロキシクラスのバイトコードファイルを作成する2、ClassLoaderを使ってバイトコードファイルをJVM 3にロードする、プロキシクラスインスタンスオブジェクトを作成し、オブジェクトの目標方法を実行する
cglibエージェント技術
五、AOP関連用語
Joinpoint(接続点)接続点とは、ブロックされた点を指す.springでは、springはメソッドタイプの接続点のみをサポートするため、すべてのメソッドを指します.
Pointcut(切り込みポイント)-(切り込みポイント式の作成)、プログラム強化のエントリ.
Advice(通知/強化)-springのメソッドを強化し、トランザクション管理関連コードを記述します.
ターゲットオブジェクト-エージェントのターゲットオブジェクト
Weaving(織り込み)–強化をターゲットオブジェクトに適用して新しいエージェントオブジェクトを作成するプロセスです.
Proxy(エージェント)–AOPによってクラスが織り込まれて強化されると、結果エージェントクラスが生成されます.
Aspect(カット)=カットポイント+通知
六、入門ケース
(一)まず簡単に手順を説明する
①新しい座標AOP、Spring-aspects、aspectを導入する.②配置書類は具体的なAOP制約を導入する;③パッケージ構造を作成し、具体的なインタフェースと実装クラスを作成する.④目標類を注入する;⑤切麺類を定義する.⑥プロファイルに切麺類を注入する.⑦AOP配置を完成する;⑧テスト
(二)具体的な実施
①新しい座標AOP、Spring-aspects、aspectを導入する.
②配置書類は具体的なAOP制約を導入する;
③パッケージ構造を作成し、具体的なインタフェースと実装クラスを作成する.
④目標類を注入する;
⑤切麺類を定義する.
⑥プロファイルに切麺類を注入する.
⑦AOP配置を完成する;
⑧試験類を作成して試験する
(三)AOPの通知タイプ
七、SpringのAOP技術-注釈方式
上に1、切面類に注記@Aspectを追加し、強化方法を作成し、通知タイプの注記宣言を使用する
2、プロファイルで自動エージェントを開く
八、SpringのAOP技術-純注解方式
通知タイプ注記@Before–前置通知@AfterReturing–後置通知@Around–周回通知(ターゲットオブジェクトメソッドはデフォルトでは実行されず、手動で実行する必要があります)@After–最終通知@AfterThrowing–異常放出通知
構成クラスの作成
Springフレームワークの重要な知識点のまとめ(四).
1、AOP(切面プログラミング向け)は、業務ロジックの各部分を隔離することで、業務ロジックの各部分間の結合度を低下させ、プログラムの再利用性を向上させるとともに、開発の効率を向上させる.2、AOPは、従来の縦継承システムの重複コードに代わって横抽出メカニズムを採用している(パフォーマンス監視、トランザクション管理、セキュリティチェック、キャッシュ)
二、なぜAOPを学ぶのか.
実行中にソースコードを変更せずに既存のメソッドを強化できるためです.
三、AOPの強みは何ですか.
JDKの動的エージェント技術(主な)
1、インタフェースのためにプロキシクラスのバイトコードファイルを作成する2、ClassLoaderを使ってバイトコードファイルをJVM 3にロードする、プロキシクラスインスタンスオブジェクトを作成し、オブジェクトの目標方法を実行する
cglibエージェント技術
五、AOP関連用語
Joinpoint(接続点)接続点とは、ブロックされた点を指す.springでは、springはメソッドタイプの接続点のみをサポートするため、すべてのメソッドを指します.
Pointcut(切り込みポイント)-(切り込みポイント式の作成)、プログラム強化のエントリ.
Advice(通知/強化)-springのメソッドを強化し、トランザクション管理関連コードを記述します.
ターゲットオブジェクト-エージェントのターゲットオブジェクト
Weaving(織り込み)–強化をターゲットオブジェクトに適用して新しいエージェントオブジェクトを作成するプロセスです.
Proxy(エージェント)–AOPによってクラスが織り込まれて強化されると、結果エージェントクラスが生成されます.
Aspect(カット)=カットポイント+通知
六、入門ケース
(一)まず簡単に手順を説明する
①新しい座標AOP、Spring-aspects、aspectを導入する.②配置書類は具体的なAOP制約を導入する;③パッケージ構造を作成し、具体的なインタフェースと実装クラスを作成する.④目標類を注入する;⑤切麺類を定義する.⑥プロファイルに切麺類を注入する.⑦AOP配置を完成する;⑧テスト
(二)具体的な実施
①新しい座標AOP、Spring-aspects、aspectを導入する.
aopalliance
aopalliance
1.0
org.springframework
spring-aspects
5.0.2.RELEASE
org.aspectj
aspectjweaver
1.8.3
②配置書類は具体的なAOP制約を導入する;
③パッケージ構造を作成し、具体的なインタフェースと実装クラスを作成する.
:
package demo3;
public interface UserService {
public void save();
}
:
package demo3;
public class UserServiceImpl implements UserService {
public void save() {
System.out.println(" : ...");
}
}
④目標類を注入する;
⑤切麺類を定義する.
package demo3;
/*
* = ( ) + ( )
* */
public class MyXmlAspect {
/* */
public void log(){
System.out.println(" ......");
}
}
⑥プロファイルに切麺類を注入する.
⑦AOP配置を完成する;
⑧試験類を作成して試験する
// spring-test
@RunWith(SpringJUnit4ClassRunner.class)
//
@ContextConfiguration("classpath:applicationContext4.xml")
public class demo4 {
//
@Autowired
private UserService userService;
/* */
@Test
public void run(){
userService.save();
}
}
(三)AOPの通知タイプ
七、SpringのAOP技術-注釈方式
上に1、切面類に注記@Aspectを追加し、強化方法を作成し、通知タイプの注記宣言を使用する
@Component // IOC
@Aspect // ==
public class MyXmlAspect {
/* */
// @Before(value = " ")
@Before(value = "execution(public * demo3.UserServiceImpl.save(..))")
public void log(){
System.out.println(" ......");
}
}
2、プロファイルで自動エージェントを開く
c
八、SpringのAOP技術-純注解方式
通知タイプ注記@Before–前置通知@AfterReturing–後置通知@Around–周回通知(ターゲットオブジェクトメソッドはデフォルトでは実行されず、手動で実行する必要があります)@After–最終通知@AfterThrowing–異常放出通知
構成クラスの作成
@Configuration //
@ComponentScan(value = "cn.tx.demo3") //
@EnableAspectJAutoProxy // ==
public class SpringConfig {
}
Springフレームワークの重要な知識点のまとめ(四).