タグ

aopとjavaに関するhiro360のブックマーク (3)

  • 作って理解するDIコンテナ - きしだのHatena

    DIコンテナ使ってるけど、アノテーションってなんなの!って聞かれて、作ってみたらわかるよと答えてみたので、自分でも作ってみました。 よくわかった。 「DIコンテナ使うと何がいいの?」ということも、作ってみるとわかります。あと「DIって何がいいの?」に関しては、「DIはちょっとコードを書くのが楽になるだけで、それだけあっても仕方ない、大事なのはコンテナ」と答えるようにしてますが、コード比率からもそれがよくわかります。 続編としてWebフレームワークも作っているので参考まで。 作って理解するWebフレームワーク - きしだのHatena まずはコンテナを作る とりあえず1ソースの状態で。 こんな感じで、管理する型を登録できるようにします。 static Map<String, Class> types = new HashMap<>(); static void register(String

    作って理解するDIコンテナ - きしだのHatena
  • (その14)トランザクション管理 - あるまに

    AOP用途の73%を占めるトランザクション管理*1。これが分かればとりあえずGuiceを使ってみようという人が増えるかもしれないので、ちょっと試してみます。 トランザクション機能は他ライブラリを使う Guiceはトランザクションに関する機能を一切持っていません。ドキュメントを見ると"@Transactional"とか書いてあって紛らわしいのですが、「そういうアノテーションを使えば?」という程度の話です。なので、実際にトランザクション管理を行う場合は、自力で実装するか、他のライブラリの機能を使う事になります。今回はSpringのTransactionInterceptorを使ってみますが、Sesar2でもたぶん同じような事が出来ますし、ちょっとインターセプタを書けばHibernateのトランザクション機能を使う事も出来るはずです。 今回の要件 メソッドに@Transactionalと書くと、

    (その14)トランザクション管理 - あるまに
  • 2007-01-07

    予想通り(?)、反応は、まさたかさんと太一と横田さんだけですね。太一は予想してなかったけど。もともと、Seasar2は設定ファイルを書かないので、あまりニーズはないのかもしれません。 後、DSLとしてJavaを使うのは、JavaはDSLとしての記述力が弱いので、向いていないと思います。 そもそもAOPってそんなに使いどころあるでしょうか。 AOPは、使いどころありますよ。よく使うのをあげると トレースログ 例外処理 ログインチェック これらのAdviceは、ほとんどのシステムで有効だと思います。ログインチェックは、Servlet Filterでもできると思いますが、例外処理で元の画面に返すとか特定の画面に飛ばすとかFilterだとちょっとやりにくいですね。メソッドの呼出し毎にトレースログを取るとなるとAOP以外でやるのはちょっとめんどくさい。 また、Seasar2では、S2Daoのようにi

    2007-01-07
  • 1