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にしてみてください。
●プログラム・リスト●
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 | <? 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入門」に戻る