libro
www.tuyano.com
初心者のためのSpring Framework入門

AOPの利用 (1/6)

作成:2015-07-12 13:19
更新:2015-07-12 13:19

■AOPって、なに?

Spring Frameworkdにおいて、DIDependency Injection、依存性注入)と並び重要な根幹技術となっているのが「AOP」というものです。

AOPは、「Aspect Oriented Programming(アスペクト指向プログラミング)」の略です。アスペクトというのは、一般に「横断的関心事」と呼ばれるものです。

オブジェクト指向では、プログラムは「クラス」を単位として作成されます。それぞれのクラスごとに、そのクラスに必要な機能をメソッドとして実装してくわけですね。この手法は、考え方としてはよくできていますが、逆に「クラスごとに完結している」ということが面倒になってしまうこともあります。

例えば、プログラムの開発中、動作状況をチェックするために、あちこちにSystem.out.println文を書いて値を出力させている、なんて人はいませんか? 誰しもよくやる方法ですね。これ、考えてみるとものすごく面倒くさいやり方です。多数のクラスがあったら、それぞれのクラスのそれぞれのメソッドにprintlnを書いていかないといけません。更に、そうやってプログラムが完成したら、すべてのprintlnを削除しないといけないのです。

こういう「多数のクラスにわたって共通して必要となる処理」が、横断的関心事です。もしも、さまざまなクラスの中にあるメソッドに、println文を自動的に挿入できる機能があったら、これはかなり便利じゃありませんか? そして必要がなくなったらすべて自動的に削除できるとしたら? これこそが、AOPの考え方なのです。

DIが「依存性(値)の注入」なら、AOPは「処理の注入」といってよいでしょう。外部から、クラス内の特定のところに、あらかじめ用意しておいた処理を挿入したり取り除いたりする。これがAOPで実現されることです。


■pom.xmlの準備

まずは、プロジェクトにAOP関連のライブラリを追加しましょう。pom.xmlを開き、<dependencies>タグ内に下のリスト欄にある内容を追加して下さい。

ここで追加するのは、Spring AOPのライブラリです。グループIDorg.springframeworkアーティファクトIDspring-aopを指定します。なおバージョンは、Spring Framework 4.1.7での利用に合わせたものを指定してあります。Spring Frameworkのバージョンが異なる場合は、それにあわせてバージョンを調整ください。

※プログラムリストが表示されない場合

AddBlockなどの広告ブロックツールがONになっていると、プログラムリスト等が表示されない場合があります。これらのツールをOFFにしてみてください。

●プログラム・リスト●

<dependency>
    <groupId>org.springframework</groupId>
    <artifactId>spring-aop</artifactId>
    <version>4.1.7.RELEASE</version>
</dependency>
※関連コンテンツ

「初心者のためのSpring Framework入門」に戻る