ユーザーの事例 欧州特許庁 Springを導入することによって、ビジネス上の焦点に集中することが出来ました。 Spring によって、モジュールと機能を容易に結び付けることが可能となったからです。 以前は多くの人と時間 ( 数年 ) をかけてやっていたことが、 Spring と Spring Modules を利用して 2,3 ヶ月で成し遂げました。 Roland Nelson 欧州特許庁
16.
ユーザーの事例 フランス税務署 フランス税務署オンライン税システム アクセンチュアによる SI Spring ベース Spring は J2EE テクノロジーの生産性に重要な改善を与えました。 その単純だが強力なプログラミングモデルによって我々は開発の時間を短縮し、より上質なシステムの作成に成功しました。 トーマス・ヴァンデベルデ リード Java アーキテクト アクセンチュア
Spring Web MVCSpring Web MVCの強化 デフォルト設定を改良 して、良くあるケースの設定を減らした ダイナミック言語サポートからの恩恵 GroovyやJRubyのAuthor controllersは オンザフライ に修正が反映される 一般的なコントロールをシンプルにする新しいタグライブラリ Struts tag libraryに似ている Ajaxなどのリッチライブラリも追加 サジェストとコントリビューションが追加 リッチライブラリは今後も徐々に増加予定
可変長引数とオートボクシング 以前のjdbcTemplateと比較 jdbcTemplate.queryForInt("SELECTCOUNT(0) FROM T_CLIENT WHERE TYPE=? AND CURRENCY=?", new Object[] { new Integer(13), "GBP" } ); jdbcTemplate.queryForInt("SELECT COUNT(0) FROM T_CLIENT WHERE TYPE=? AND CURRENCY=?", new Object[] { 13, "GBP" } ); simpleJdbcTemplate.queryForInt("SELECT COUNT(0) FROM T_CLIENT WHERE TYPE=? AND CURRENCY=?", 13, "GBP" ); JdbcTemplate, オートボクシング SimpleJdbcTemplate, 可変長引数 JdbcTemplate, <= Java 1.4
AOP を利用すれば @Aspectpublic class SystemArchitecture { @Pointcut("within(a.b.c.service..*") public void inServiceLayer () {} @Pointcut("within(a.b.c.dao..*") public void inDataAccessLayer () {} @Pointcut("execution(* a.b.c.service.*.*(..))") public void businessService () {} … } 共通する概念をシンプルに実装できる
54.
Spring 2.0のAOP XML設定ファイルに<aop:*/>タグが利用出来るより進んだAspectJの統合 Pointcut expression language Spring AOPでAspectJスタイルのAscpetが利用可能に AspectのアノテーションがSpring AOPで利用可能に 完全にajcコンパイルされたAspectと同じ動きをする SpringとAspectJがあれば・・・ SpringのIoCコンテナ上で作成されたオブジェクトでなくてもAspectが適用出来る
55.
Spring AOP (1.2.x)の良い点と悪い点 良い点 ソリッドなproxy-basedモデル 拡張性が高い 採用、利用が容易 開発プロセスやサーバ環境に影響を与えない 悪い点 pointcut expression languageが無い XML configurationは冗長になりがち 拡張性はあるが、Java technologyのみで実現
56.
Spring 2.0のSpring AOPAOPは非常に重要!! 利点はそのままに、欠点を克服した 採用、利用のしやすさを保つ 開発プロセスや、サーバ環境に依存しない AspectJの強力な力による利益 Spring AOPの進化がAspectJと共に加速する
57.
Spring 2.0版Spring AOPの狙いフル機能のAOPのデファクトスタンダードである、AspectJを利用して動作 ちなみにAspectJのリーダーであるAdrian ColyerはInterface21のCTO AdrianはAspectJと同じくらいSpringも開発してる ってわけで安心? XML configuration extensionsを利用できる ように