- PR -

JPAの検索結果に対するSpringのDependency Inject方法に関して

投稿者投稿内容
sweetlove
会議室デビュー日: 2003/12/23
投稿数: 9
投稿日時: 2007-07-22 00:12
お世話になります。JPA(Java Persistence API)とSpring FrameworkのIntegrationに挑戦しています。

私の思い込みで、申し訳ないのですが、Springを使用することで、JPAのクエリーをした検索結果のオブジェクト(あるいはオブジェクトの配列)に対して、SpringはDependency Injectionを勝手に行ってくれるものと思っていましたが、実際やるとInjectionは行ってくれませんでした。(JpaDaoSupportを使用しても同様でした)

恐らく、Injectionを行わないのがスペックかなと思っているのですが、その認識は正しいでしょうか?

仮にスペックとしてInjectionを行わせるエレガントな方法はないでしょうか?

なお、JPAはHibernate実装を使用しています。

以上、よろしくお願いします。



朝日奈ありす
大ベテラン
会議室デビュー日: 2007/05/02
投稿数: 189
お住まい・勤務地: 最北の地
投稿日時: 2007-07-22 01:15
beans.xmlはちゃんと記述してますよね?
sweetlove
会議室デビュー日: 2003/12/23
投稿数: 9
投稿日時: 2007-07-22 01:37
引用:

杏さんの書き込み (2007-07-22 01:15) より:
beans.xmlはちゃんと記述してますよね?



今回質問させていただいた部分以外は正常に動いていて、beans.xml(実際は今回はWebアプリなので、applicationContext.xml)は正しいのではないかと思います。

何か、手がかりになるものでも教えていただけたらうれしいです。
朝日奈ありす
大ベテラン
会議室デビュー日: 2007/05/02
投稿数: 189
お住まい・勤務地: 最北の地
投稿日時: 2007-07-22 08:10
beans.xml は総称でいったつもりなのですけどね。
インジェクションはなにも ApplicationContext.xml に定義しなくてもいいので
あえて beans.xml といわせてもらいました。
[任意の名前].xmlでかいてもよかったのですが。←だとなんだかわかりませんしw
sweetlove
会議室デビュー日: 2003/12/23
投稿数: 9
投稿日時: 2007-07-22 11:42
引用:

杏さんの書き込み (2007-07-22 08:10) より:
beans.xml は総称でいったつもりなのですけどね。
インジェクションはなにも ApplicationContext.xml に定義しなくてもいいので
あえて beans.xml といわせてもらいました。
[任意の名前].xmlでかいてもよかったのですが。←だとなんだかわかりませんしw



杏さん、失礼しました。

質問の内容ですが、やっぱりできないのでしょうか。
できない場合に、JPAからの検索結果にInjectを独自にやるということになると思うのですが、この場合に、生成されたインスタンスにInjectを行うことになると思います。

GuideだとinjectMembersのように既存インスタンスにinjectが可能ですが、Springで同様のことが可能ですか?
朝日奈ありす
大ベテラン
会議室デビュー日: 2007/05/02
投稿数: 189
お住まい・勤務地: 最北の地
投稿日時: 2007-07-22 17:36
Spring は任意的に Injection してやる必要がありますよ。

xml定義をcontextに読み出してそれからオブジェクトを生成してやらないと

Injectionは起動しません。

http://www.atmarkit.co.jp/fjava/rensai3/springdi01/springdi01_2.html
Spring の Injectionの仕組み
sweetlove
会議室デビュー日: 2003/12/23
投稿数: 9
投稿日時: 2007-07-22 18:23
引用:

杏さんの書き込み (2007-07-22 17:36) より:
Spring は任意的に Injection してやる必要がありますよ。

xml定義をcontextに読み出してそれからオブジェクトを生成してやらないと

Injectionは起動しません。

http://www.atmarkit.co.jp/fjava/rensai3/springdi01/springdi01_2.html
Spring の Injectionの仕組み



杏さん、丁寧にありがとうございます。
残念ながら、DIのことは理解しているので、上記のURLはあまり役にたちませんでした。(ちなみに私のPOSTでGuideって書いたのはGuiceの間違いでした。ごめんなさい)

どこかでInterceptして、インスタンスにinjectすることを目論んでいたのですが、、、Guiceなどの使用を検討してみます。
Kazuki
ぬし
会議室デビュー日: 2004/10/13
投稿数: 298
投稿日時: 2007-07-22 18:56
私はJPAとかでとってきたオブジェクトはデータの入れ物としてくらいにしか使いません。
なので、〜をDIしたいと思わないのですが…

JPAでとってきたオブジェクトに対して、何をDIしたいんですか?
従業員テーブルのデータを持ったクラスにどんなものをDIしたいんでしょう?

スキルアップ/キャリアアップ(JOB@IT)