Spring AOP-Annotation構成


springのAOPへのサポート(Annotation方式を採用)
1、スプリングの依存パッケージ構成
*SPRING_HOME/dist/spring.jar
*SPRING_HOME/lib/log 4 j/log 4 j-1.
*SPRING_HOME/lib/jakata-commons/commons-loging.jar
*SPRING_HOME/lib/aspectj/*.jar
2、横断的な注意点をモジュール化し、SecurityHandler.javaを確立する.
3、コメントでSecurityHandlerをAsppectとして指定します.
4、注釈でAdviceとPointcutを定義する
5、AsppectJのAnnotationへのサポートを有効にし、目標類とAsppect類をIoC容器に配置する.
6、クライアントの開発
xmlにAnnotationを追加します.
<aop:aspectj-autoproxy/>
ターゲットクラス

@Aspect
public class SecurityHandler {
	
	
	/**
	 *   Pointcut,Pointcut    addAddMethod(),           
	 *          ,     
	 */
	@Pointcut("execution(* add*(..))")
	private void addAddMethod(){};
	
	
	/**
	 *   Advice,     Advice     Pointcut   Joinpoint 
	 */
	@Before("addAddMethod()")
	//@After("addAddMethod()")
	private void checkSecurity() {
		System.out.println("-------checkSecurity-------");
	}		
}
呼び出し

public static void main(String[] args) {
		BeanFactory factory = new ClassPathXmlApplicationContext("applicationContext.xml");
		UserManager userManager = (UserManager)factory.getBean("userManager");
		userManager.addUser("  ", "123");
	}
AOPの主要概念:
Cross Cutting Concrn
独立したサービスです.システムの処理プロセスに満ちています.
Asppect
横断的な懸念点のモジュール化
アドバンス
横断的な懸念点の具体的な実現
Pointcut
AdviceがどのJoinPointに適用されるかを定義しています.Springにとっては、メソッド呼び出し、
ジョインポイント
Adviceがアプリケーション上で実行するポイントやタイミング、SpringはメソッドのJoinPointのみをサポートしています.この点は、Asppecjなどの属性修正も可能です.
Weave
AdviceをTarget Objectに適用する過程を織り込みといい、Springがサポートするのは動的に織り込むことです.
Target Object
Adviceが適用される対象
Proxy
Spring AOPは、デフォルトではJDKのダイナミックエージェントを使用しています.そのエージェントは実行時に作成され、CGLOIBエージェントを使用することもできます.
Introduction
クラスのための動的な追加方法があります.