タグ

guiceとspringに関するhiro360のブックマーク (5)

  • Spring Java Configuration(2) - あるまに

    1回目に続き、Spring Java Configurationを試してみたいと思います。今回はAOP。ちなみに付属のドキュメントにはAOPの説明が無かったので(さすがM1リリース)、テストケースを参考に試してみます。 Spring Java ConfigurationでのAOP定義 injectするServiceのインタフェースと実装クラス、そしてinjectされるClient実装クラスは、前回と同じものを使用します。AOPは既存の実装を変更せずに透過的に処理を追加(変更)できるのが売りですから、当然と言えば当然です。 で、前回のコンフィギュレーションクラスにAOPの定義を追加して、インターセプタも書いちゃいます。 @Configuration public class SpringConfigurationWithAOP { @Bean public Service service()

    Spring Java Configuration(2) - あるまに
  • ベンチマークを更新しました - あるまに

    SpringFramework 2.0.4で、ちょうどベンチマークに関係する部分のパフォーマンスチューニングを行ったとの事なので(詳しくは次のエントリ参照)、再度ベンチマークを行いました。Seasar2も最新版に入れ替えた上で、セットアップ処理コードを一部変更しています。 計測内容 バージョンは、Spring 2.0.4 / Guice 1.0 / Seasar2 2.4.12 インスタンス取得はAOP有りとAOP無しの両方を計測(前回は有りのみでしたが、今回は無しも計測しました) 全てプロトタイプ(毎回新しいインスタンスを取得) 取得したインスタンスの実行時間は、AOP有りのみ計測(AOP無しは変わらないはずなので) 留意して欲しい事項は前回の前置きにあります ベンチマーク結果 - get instance (NO AOP)- Spring: 24,336 creations/s Gui

    ベンチマークを更新しました - あるまに
  • Spring Java Configuration(1) - あるまに

    Guiceと Springframeworkの最大の違いはDIやAOPの設定をJavaコードで書くかXMLで書くかですが、実は(?)SpringでもJava コードによる設定の記述手段が用意されています*1。今回はその"Spring Java Configuration"を簡単に見てみます。なお、まだマイルストーン1なので、用意されているというよりは準備されている、もしくは計画中と言う方が適切かも知れず、今回試す内容も今後のリリースで色々変わる可能性があります。 Spring Java Configurationの最も基的なサンプル まずinjectされるサービス。インタフェースとその実装です。 public interface Service { String getResponse(String msg); } public class ServiceImpl implements

    Spring Java Configuration(1) - あるまに
  • (その8) Seasar2をAOPパフォーマンス比較対象に追加 - あるまに

    id:koichikさんに「S2も比較に追加して」というコメントを頂いたので、言われた通りの方法で追加して試しました。Seasar2のテストコードはま!さんのSeasar2用コードにkoichikさんの記述を追加しただけのものです。Seasar2は触った事がないのでシングルトンかどうか分からなかったのですが、デバッグしながら見たらinjectされたオブジェクトのIDが呼び出しのたびに異なっていたので、毎回インスタンス化しているのだろう(=条件は同じだろう)と判断しました。また、上記Springの訂正も含まれています。 最初の3回の結果は以下です。Springにとってはちょっと…. Spring: 1,734 creations/s Guice: 35,161 creations/s S2: 18,395 creations/s Spring: 1,776 creations/s Guice

    (その8) Seasar2をAOPパフォーマンス比較対象に追加 - あるまに
  • Google Guice(その6) AOP使用時のパフォーマンス比較 - あるまに

    ※下記はコードが間違っていて訂正したので、その8をご参照下さい。 その5でid:shot6さんにコメントを頂いた事もあり、AOP使用時のパフォーマンスを比較してみます。 使うのは、Guice付属のパフォーマンス比較コードにAOP設定とAOPを挟んだメソッドの呼び出しを追加したものです。 SpringのAOPはとりあえずノーマルなProxyで。 // 設定 RootBeanDefinition proxy = new RootBeanDefinition(ProxyFactoryBean.class); MutablePropertyValues proxyValues = new MutablePropertyValues(); proxyValues.addPropertyValue("target", new RuntimeBeanReference("barImpl")); prox

    Google Guice(その6) AOP使用時のパフォーマンス比較 - あるまに
  • 1