2011-10-26 2 views
0

私は依存性注入のために私のプロジェクトでSpring.Netを使用しています。今では、私のオブジェクトのプロパティを怠惰に読み込むためにも使いたいと思っています。Spring.Netを使ったレイジーロードコレクション

私が使用します:

この

は一例です

  • CustomerDaoアクセスするためのデータベース(getCustomer(idCustomer)、getAddresses(idCustomer))
  • お客様(名前、姓、IListのアドレス、。 ...)
  • アドレス(...)

私は怠惰な負荷にSpring.Netを設定したいCustomer.Add ressesプロパティ。

私はインターセプターを使用したと思います...簡単な設定例を教えてください。

+0

お客様の住所と住所のインスタンスがすべて春設定で正しく設定されていることを正しく理解していますか?これは非常に珍しいでしょう。ほとんどの場合、ある種類のデータベースからこれらのタイプのオブジェクト(エンティティ)を取得します。 – Marijn

+0

いいえ、CustomerDaoのみがSpringで構成されています。顧客と住所はPOCOエンティティです。 – danyolgiax

答えて

0

Castle Windsor DynamicProxyの実装を使用して独自のプロキシを作成し、オブジェクトのプロパティを遅延ロードすることができます。しかし、これは簡単な作業ではありません!

DAO/DALでオブジェクトのプロパティを遅延ロードしたい場合は、NHibernateなどの適切なORM実装に進むことをお勧めします。

github上のSubSonicプロジェクトリポジトリのthis fileに、独自のプロキシーを実装する実装例があります。

+0

私はNHibernateを知っている、私は城を知っている...このプロジェクトで私はそれらを使用することはできません!私はORMなしでSpring.Netを使用する必要があります。 – danyolgiax

+0

私は、サブソニックのプロキシ実装を指摘しました。これは、独自のプロキシー実装を実現する方法を提案するはずです。 – saintedlama

+0

Afaik Spring.NETはAOP用のCastle Dynamic Proxyを使用しているので、後で使用できるかどうか確認したいかもしれません。 – Marijn

関連する問題