[[JAVAの記事一覧]]

*目次 [#n8f7128a]
#contents

*DIコンテナについて [#kfa94733]

よく言われる特徴としては、疎結合。これだとようわからんので、かんたんにいうと。今までつながっていた部品をブツブツ区切って、途中のつなぎ役として汎用的に使える部品をはさめるようにしましたってこと。

**大体の方針 [#wfeb4ac2]
ブツブツ区切りたいクラスがあれば、変わりになるインタフェースを作製しておいてそれを使うようにする。


**名前の由来について思うこと [#j5fdb563]
たぶん、汎用的な部品のイメージがバネのようなもんだから、Springという名前になったんだとおもう。



実装ではSpringとかSeaser2とかだ

*Springの入門 [#zf28c3dc]
https://www.myeclipseide.jp/modules/contents04/index.php?id=32

**Spring での Object/XML マッピングのサポートを探る [#f7d9a271]
http://www.ibm.com/developerworks/jp/xml/library/x-springXOM/

**Spring Framework 3.0の新機能 Part1 [#m255a7d0]
http://netforestdevnote.blog26.fc2.com/blog-entry-4.html

**Spring Framework 3.0の新機能 Part2 [#ce90e91d]
http://netforestdevnote.blog26.fc2.com/blog-entry-14.html

**Spring Framework 3.0の新機能 Part3 [#q12f3530]
http://netforestdevnote.blog26.fc2.com/blog-entry-23.html

*Seaser2の入門 [#cf00a708]
http://snowhiro.web.fc2.com/seasar2/seasar2_index.html

Seaser2もブツブツインタフェースで区切って、

設定ファイルで関係付けしてといったぐあい

**s2Dao [#ie331235]
最大のメリットはSQLの自動生成

**S2JDBCとActiveRecordの比較 [#l54821b6]
S2JDBCとRailsのActiveRecordは、エンティティとテーブルは同一構造となる点は同様だが、細かいようで重要な違いとしてActiveRecordは豊富なメタプログラミングを駆使してエンティティの操作に対して豊富なフックを用意しおり様々な介入を行えます、それらを利用してデータ格納先としてのEntityに限定されず比較的ロジックを内部に保持できます。
JPAではエンティティマネージャから返却されるインスタンスはプロキシ化やエンハンスを行いEntityライフサイクル内で限定的な介入を行えますが、一般的にはあまり使われていないようです。対するS2JDBCはエンティティを純粋なPOJOとして扱います。意図しない挙動をしないため解り易いなどメリットと柔軟性のトレードオフで一概にどちらが優れているとは言えません。Seasarシリーズには実用的で便利な2WaySQLがあったり言語特製もふまえ同列で比較出来ない差を感じます!

そういえばHibernateよりCayenneが使いやすいといった意見を見た事があるのを思い出しました。JPA対応とかしてたような気がするのですがJPAエンティティライフサイクルの問題とかHibernateに対する違いってどうなんでしょうね?

*何が省力になるのか [#w38daeda]
-単体テストがしやすくなる。

*何が不便になるのか [#ba9424ad]
Springの2.5までは下記の問題があった。

-Javaの静的型チェックができなくなる
-xmlの定義が面倒

でもSpring3.0からは改善されている模様。

トップ   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS