springの中でaopの配置
3442 ワード
Annotation方式
まず、springのプロファイルaplication Contaction Contect.xmlにxmlの名前空間とschemaLocationを導入する必要があります。以下の通りです。
その後、xmlファイルに次のコードを入れる必要があります。
ログログクラスを作成:
LogInterceptor.java
この類はうどん類という意味です。
@Component:うどん類としてspring管理が必要ですので、初期化時にはこのクラスを初期化してspring管理に渡す必要があります。
@Before:切り込みポイントロジック
Execution:切り込みポイント文法
ここでまた別の書き方ができます。
LogInterceptor.java
説明:@Pointcutは、ここで複数の接点が定義されているような、切り込み点の集合を表しています。では、方法を実行しています。 の時に複数の論理を実行できます。
XML設定
まず、XMLの配置についてよく知る必要があります。このような配置方法を把握したほうがいいです。
第一歩は上と同じで、xmlの名前空間とschemaLocationを導入します。
関連配置は以下の通りです。
また、このように構成してもよい。
また、上記の配置について注意すべき点の一つは、うどん類を定義する際に、IOCの注釈を使用したことである。Component(value=「logInterceptor」)は、この接麺類を配置する時に、直接引用することができます。
まず、springのプロファイルaplication Contaction Contect.xmlにxmlの名前空間とschemaLocationを導入する必要があります。以下の通りです。
xmlns:aop="http://www.springframework.org/schema/aop"
http://www.springframework.org/schema/aop
http://www.springframework.org/schema/aop/spring-aop-2.5.xsd
注意点として、springでaop側の内容を使うなら、それに応じたjarパッケージを導入する必要があります。その後、xmlファイルに次のコードを入れる必要があります。
このようにspringは自動的に代理を生成し、対応する注釈を解読することができる。ログログクラスを作成:
LogInterceptor.java
package com.bd.aop;
import org.aspectj.lang.annotation.Aspect;
import org.aspectj.lang.annotation.Before;
import org.springframework.stereotype.Component;
@Aspect
@Component
public class LogInterceptor {
@Before(value="execution(public void com.bd.dao.impl.UserDaoImpl.add(..))")
public void before(){
System.out.println("method start!!!");
}
}
このようにプログラムがadd()メソッドを実行すると、まずこの論理を実行します。プログラムの実行結果は以下の通りです。この類はうどん類という意味です。
@Component:うどん類としてspring管理が必要ですので、初期化時にはこのクラスを初期化してspring管理に渡す必要があります。
@Before:切り込みポイントロジック
Execution:切り込みポイント文法
ここでまた別の書き方ができます。
LogInterceptor.java
package com.bd.aop;
import org.aspectj.lang.annotation.After;
import org.aspectj.lang.annotation.Aspect;
import org.aspectj.lang.annotation.Before;
import org.aspectj.lang.annotation.Pointcut;
import org.springframework.stereotype.Component;
@Aspect
@Component
public class LogInterceptor {
@Pointcut(value="execution(public * com.bd.dao..*.*(..))")
public void myMethod(){
}
@Before(value="myMethod()")
public void before(){
System.out.println("before start!");
}
@After(value="myMethod()")
public void after(){
System.out.println("after start!");
}
}
実行結果は:説明:@Pointcutは、ここで複数の接点が定義されているような、切り込み点の集合を表しています。では、方法を実行しています。 の時に複数の論理を実行できます。
XML設定
まず、XMLの配置についてよく知る必要があります。このような配置方法を把握したほうがいいです。
第一歩は上と同じで、xmlの名前空間とschemaLocationを導入します。
関連配置は以下の通りです。
実際にはannotation構成ロジックと同じように、まず一つの断面類を定義し、その後、切り込み点の集合を定義し、必要な方法を再構成する。また、このように構成してもよい。
両者の表現の効果も同じです。これも切り口の集合を説明しています。定義が終わったら、直接引用すればいいです。また、上記の配置について注意すべき点の一つは、うどん類を定義する際に、IOCの注釈を使用したことである。Component(value=「logInterceptor」)は、この接麺類を配置する時に、直接引用することができます。