Wicket には、レイジー プロキシ ファクトリと呼ばれるこのデバイスがあります。与えられた:
<property name="foo" ref="beanx"/>
アイデアは、「beanx」の代わりにプロキシを自動生成し、何かが実際にそのメソッドを呼び出す場合にのみ beanx を初期化することです。
これは、Spring のコア機能のように思えます。どこかにありますか?
Wicket には、レイジー プロキシ ファクトリと呼ばれるこのデバイスがあります。与えられた:
<property name="foo" ref="beanx"/>
アイデアは、「beanx」の代わりにプロキシを自動生成し、何かが実際にそのメソッドを呼び出す場合にのみ beanx を初期化することです。
これは、Spring のコア機能のように思えます。どこかにありますか?
See LazyInitTargetSource; that might do what you want. It requires use of lazy-init="true" on the target bean as well, though.
Spring セッション/リクエスト スコープは、説明した手法を使用して実装されますが、インスタンスの作成ではなく、スコープ カーディナリティ間の遷移を処理することのみを目的としています。したがって、Spring は同じ概念を使用しますが、おそらく独自の実装を作成する必要があります。
Spring コンテキストが初期化されると、必要なものに最も近い Spring シングルトン Bean が作成されます。 . したがって、短い答えは「いいえ」だと思います。ただし、Spring クラスを非常に簡単に拡張することで、独自のスコープを実装してこれを行うことができます。