前回、HibernateのLAZYロード問題をClassTransformerによるLoadTimeWeavingで解決することが出来ました。実行時にClassデータを拡張するLoadTimeWeavingに関しては、今まではあまり積極的に使おうとは思っていなかったのですが、Hibernateの件によって、Weaving環境が確立されている場合は非常に強力な選択肢に成り得るんだということを実感しました。 そこで、Springを調査するときにスルーしていたAspectJのLoadTimeWeavingに次は挑戦してみようと思います。 id:da-yoshi:20080511:1210486860の日記ではSeasar2を利用してJAX-RS JerseyのResourceクラスに対してトランザクション機能を追加しました。同じことを今度はSpring+AspectJを使ってやってみようと思いま
テストケースくらいはなるべく特定のフレームワークに依存させたくないという気持ちはあるものの、さすがに Hibernateやらといったヘヴィな奴をインスタンス化する長い道のりを手でコーディングしたり、単一責任の原則に基づいて真面目に分割されたコンポーネント群のワイヤリングを手でコーディングしたりするのはかなり厳しいものがあるので、そこは目をつぶってテストケースもやはり Springの助けを借りて実装するのが現実的だ。 なお JUnitと Springを連携させるには、spring.jarの他に spring-test.jar が必要となる。 Eclipseについてる JUnitを捨てる Eclipseについている JUnitはちょっと古くて、Springに対応するために必要なインターフェイスJUnit4ClassRunnerが存在していない。なので Eclipseに標準で付属している JUn
前回の記事ではSpring IDE 2.0のインストールを行いました。 今回はSpring 2.0の新機能を紹介します。特に、XMLSchema(XSD)に対応した構成ファイルの記述方法を詳しく紹介していきます。
Spring 2.0で自分なりの開発スタイルを確立しよう:Spring 2.0時代の開発スタイル(3)(1/3 ページ) 前回の記事でSpring 2.0の新機能について解説しました。今回はSpring 2.0のAOP(アスペクト指向プログラミング)機能と新しく追加されたWebに対応するBeanスコープについて解説します。 AOPとは、プログラムに対して後付けで処理を織り込む仕組みです。AOPについての詳細は、以前の連載「Spring Frameworkで理解するDI」の第3回「Spring AOPサンプルアプリでAOPを理解する」を参照ください AOPネームスペースを使ってHello World!! AOPネームスペースは、Spring AOPの設定を処理するタグを含むネームスペースです。Spring 2.0ではAOP機能が強化されました。特に、AspectJとの統合が強力で、従来のプロ
テーマ 2003 年 2 月のオープンソースプロジェクトの開始以来、Spring Framework はますます強力になっています。ダウンロード件数は 100 万を超え、さまざまな業界のデファクトスタンダードとなり、エンタープライズ Java アプリケーションの開発に変化を与えました。 最も重要なことは、大規模かつ忠誠なユーザー基盤を築いたことです。このようなユーザーは Spring Frame の重要な価値を理解し、急速な進歩をもたらすフィードバックを与えてくれました。Spring には、常に以下のような明確な使命がありました。 非侵入的なプログラミングモデルの提供。できれば、アプリケーションのコードをフレームワークから切り離すべきである。 社内インフラに対する優れたソリューションを提供し、開発担当者が一般的な問題の解決ではなく、ビジネス価値の実現に注力できるようにする。 進展しつつある
DIコンテナをサポートするEclipseプラグイン Java界隈では数年前からDIコンテナを利用した開発が一般的になりつつある。日本国内では国産のSeasar2を利用するユーザも多いが、世界的にはなんといってもSpring Frameworkが標準といえるだろう。今回はこのSpring Frameworkでの開発をサポートする「SpringIDE」を紹介する。SpringIDEはつい先日、Eclipse 3.3に対応したバージョン2.0がリリースされたばかりだ。このバージョンはSpring Framework 2.0をサポートしており、筆者の試したところEclipse 3.2でも問題なく動作するようだ。ただしSpringIDEの動作にはEclipseをJava5で動作させる必要がある点に注意してほしい。 SpringIDEは以下の更新サイトからインストールすることが可能だ。本稿では取り上げ
Seasar2が登場して2年が経ち、今では実際の開発でDIxAOPコンテナを使用することは珍しいことではなくなりました。 DIxAOPコンテナを導入するにあたって、他のDIxAOPコンテナとの速度比較やDIxAOPコンテナが行う処理の中でどこに時間がかかっているかについて評価されていることと思いますが、なかなかそのすべてを把握されていないのではないでしょうか。 そこで本連載では、DIxAOPコンテナの生成やコンポーネント取得といったベーシックな機能についてパフォーマンスを測定して、以下にあげた点について明らかにしていきます。 DIxAOPコンテナ(Seasar2、Spring)の実装によって、どれくらいパフォーマンスが異なるのか DIxAOPコンテナが行う処理の中で、どこに時間がかかるのか また結果として速度が遅くなった箇所については、その原因を考察して実案件で役立てていただけましたらと思
国産のOSSについて見てみると,Rubyは「◎」,Seasar2は「♪」,運用管理ツールのHinemosは「♪」,Rubyベースのバグトラッキング・システム影舞は「○」,プロジェクト管理ツールのProject Keeperは「♪」となっている。 正直なところ、大手SIerがSpringではなく、Seasar2を選ぶ可能性は少ないでしょう。 一番の理由は、Seasar2は、電通国際情報サービスの影響が強いように見えること。競合する可能性ある会社の影響の強いフレームワークは、よほどのことがない限り選ばないと思います。 某N社の幹部が「Seasar2は、電通国際情報サービスが開発しているから、使わない」といっていたと、風のうわさで聞いたことがあります。「電通国際情報サービスが開発している」ってのは、はっきりいって間違いです。うちの会社は、何人かのコミッタに給料を払っていて、就業時間中にSeasa
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く