タグ : Spring

executionの記述方法についてまとめました

spring

springのAOP「@Before」や「@After」で、実行対象を指定する「execution」ですが、少々記述方法が特殊で最初はとまどう場面があるかもしれません。

executionは正規表現ににていて、色々な指定方法が可能です。
色々な指定方法が可能であるがゆえに、慣れてきてもド忘れしたり、使い方を間違ってしまうものです。今回は「execution」のフォーマット(指定方法)について解説していきます。
続きを読む

AOP(Aspectj)クラス内でメソッド引数を取得する

spring

AOP(Aspectj)を実現するアノテーションとして「@Before、@After、@AfterThrowing、@Around」があります。それぞれのアノテーションで実現したAOPクラス内で、対象となるメソッドの引数を取得することも可能です。

springでは、「@Before、@After、@AfterThrowing、@Around」を使って、メソッドの前後、例外時に処理を加えることが可能です。
もちろん処理を加えるときに、対象メソッドの引数を取得することも可能です。
今回は、AOPクラス内で「JoinPoint」を使って対象メソッドの引数を取得する方法を解説します。
続きを読む

Aspectjの@Aroundを使ってメソッド前後に処理を入れる

spring

@Aroundを使って、メソッド前後に処理を織り込む(インジェクション)方法を解説します。@Aroundでは、@Before、@Afterとは違って、AOPクラス内で対象のメソッドを実行します。

設定方法は、「@Before、@After」はほぼ同等なので使い方に迷ってしまうことはないと思います。
どのような動作をするのか?というところだけをおさえておけば問題ありません。
続きを読む

Aspectjの@AfterThrowingを使って例外発生時に処理を入れる

spring

前回aspectjのbefore、afterを使ったサンプルソースでは、「@Before、@After」を使って、メソッド前後に処理を織り込む(インジェクション)方法を解説しました。

@AfterThrowingは、メソッド前後に必ず動く、「@Before、@After」と違って、例外発生時のみ動作します。

今回は@AfterThrowingを使って、特定クラスの例外発生時に処理を織り込む(インジェクション)する方法を解説します。
続きを読む

Aspectjの@Before、@Afterを使ってメソッド前後にログ出力を入れる

spring

springにはAOPの概念があり、ビジネスロジックの本質とは異なった処理を別クラスに定義して、ビジネスロジックの実行前後などで共通処理として織り込む(インジェクションする)ことが出来ます。

@Before、@Afterは、springで使われる頻度の高いインジェクト方式です。
今回は基本的な@Before、@Afterの使い方を紹介していきます。
続きを読む

DIの基本の@Autowiredと@Componentを理解する

spring

springの特徴としてDIがあります。springではプログラム中でnew(インスタンス化)することなく、インターフェースを使って実クラスをコンポーネント化します。

「@Autowired」と「@Component」はspringのもっとも基本的な部分です。
springのアノテーションで使用頻度は非常に高いです。
今回はコンポーネント化で必要な「@Autowired」と「@Component」の使い方について解説していきます。このサイトではspring3.0以上を対象に解説を進めていきます。
続きを読む

springMVCの例外ハンドラの実装例(HandlerExceptionResolver編)

spring

springMVCのコントローラクラスでは、発生した例外(Exception)をHandlerExceptionResolverを使ってハンドリングします。

ハンドラクラスを作ることで各コントローラで「try catch」を入れる必要もなく一つのクラスでハンドリングすることが出来ます。
例外をハンドリングする方法は、他にもいくつかあります。
今回は、HandlerExceptionResolverを使って、例外をハンドリングする方法を紹介します。
続きを読む

【springMVC】ブラウザで文字化けした時の対応方法

spring

Spring MVCでブラウザ表示時日本語が文字化けしていた時の対処法を記述します。

springsource-tool-suite-webアプリを自動生成してみよう編」でも日本語化対応については解説しました。日本語化対応はweb.xmlにフィルターを追加することで文字化けを防ぐことが出来ます。

springMVCのひな型を作成した時に、こちらの日本語化対応は入っていません。自分で入れる必要があります。
続きを読む