AOPの利用 (4/6)
作成:2015-07-12 13:25
更新:2015-07-12 13:25
更新:2015-07-12 13:25
■bean.xmlを作成する
次に行うことは、必要なBeanの設定を用意することです。まずは、Bean設定ファイルを使ってみることにしましょう。
先に「resources」フォルダ内に作成した「bean.xml」を開いてください。そして下のリスト欄のように記述をしましょう。これで必要なライブラリが揃います。
今回は、全部で3つのBeanを登録しています。それぞれ以下のような内容になりいます。
●SampleAopBean
先に作ったBeanですね。ここでは、id="sampleAopBean"と名前を指定して用意してあります。
●SampleMethodAdvice
先ほど作ったAOPの処理クラスです。これは、 id="sampleMethodAdvice"という名前で用意しておきます。
●ProxyFactoryBean
これが、ここでのポイントです。これは、org.springframework.aop.frameworkパッケージに用意されている、Spring AOPのクラスなのです。このように、ライブラリに用意されているクラスもBean設定ファイルによりインスタンスを自動作成できます。
このProxyFactoryBeanでは、<property>タグを使い、2つのプロパティを用意してあります。それぞれ以下のようなものです。
target――AOPの対象となるBeanを指定します。ここでは、sampleAopBean(<bean id="sampleAopBean">で用意したもの)を指定しています。
interceptorNames――これはAOPで挿入する処理のBeanを指定します。複数を指定できるように、<list>というリストのタグを用意し、その中に<value>タグでBean名を指定します。ここでは、その手前で作ってあるsampleMethodAdviceを指定してあります。
このように、AOPのターゲットとなるBean、AOPの処理を行うBean、そしてこれらの関連をプロパティに設定したProxyFactoryBean、以上3つが必要となります。
先に「resources」フォルダ内に作成した「bean.xml」を開いてください。そして下のリスト欄のように記述をしましょう。これで必要なライブラリが揃います。
今回は、全部で3つのBeanを登録しています。それぞれ以下のような内容になりいます。
●SampleAopBean
先に作ったBeanですね。ここでは、id="sampleAopBean"と名前を指定して用意してあります。
●SampleMethodAdvice
先ほど作ったAOPの処理クラスです。これは、 id="sampleMethodAdvice"という名前で用意しておきます。
●ProxyFactoryBean
これが、ここでのポイントです。これは、org.springframework.aop.frameworkパッケージに用意されている、Spring AOPのクラスなのです。このように、ライブラリに用意されているクラスもBean設定ファイルによりインスタンスを自動作成できます。
このProxyFactoryBeanでは、<property>タグを使い、2つのプロパティを用意してあります。それぞれ以下のようなものです。
target――AOPの対象となるBeanを指定します。ここでは、sampleAopBean(<bean id="sampleAopBean">で用意したもの)を指定しています。
interceptorNames――これはAOPで挿入する処理のBeanを指定します。複数を指定できるように、<list>というリストのタグを用意し、その中に<value>タグでBean名を指定します。ここでは、その手前で作ってあるsampleMethodAdviceを指定してあります。
このように、AOPのターゲットとなるBean、AOPの処理を行うBean、そしてこれらの関連をプロパティに設定したProxyFactoryBean、以上3つが必要となります。
(by. SYODA-Tuyano.)
※プログラムリストが表示されない場合
AddBlockなどの広告ブロックツールがONになっていると、プログラムリスト等が表示されない場合があります。これらのツールをOFFにしてみてください。
●プログラム・リスト●
<?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd"> <!-- aop bean... --> <bean id="sampleAopBean" class="com.tuyano.libro.aop.SampleAopBean"> <property name="message" value="this is AOP bean!" /> </bean> <bean id="sampleMethodAdvice" class="com.tuyano.libro.aop.SampleMethodAdvice" /> <bean id="proxyFactoryBean" class="org.springframework.aop.framework.ProxyFactoryBean"> <property name="target" ref="sampleAopBean"></property> <property name="interceptorNames"> <list> <value>sampleMethodAdvice</value> </list> </property> </bean> </beans>
※関連コンテンツ
「初心者のためのSpring Framework入門」に戻る