私は豆のSpringインスタンス化をよりよく理解しようとしています。私の疑問を説明するために、我々はコントローラに配線されているサービスクラスを持っていると仮定しましょう、ここでの質問は次のとおりです。春の注入とオブジェクトのインスタンス化
- どのようにコントローラのライフサイクルを管理する 春のだろうか?新しいオブジェクト はリクエストごとに作成されますか?
- サービスがインスタンス化され、コントローラに が配線されると、 はそのオブジェクト参照を再利用して を他のBeanに配線しますか?
私は豆のSpringインスタンス化をよりよく理解しようとしています。私の疑問を説明するために、我々はコントローラに配線されているサービスクラスを持っていると仮定しましょう、ここでの質問は次のとおりです。春の注入とオブジェクトのインスタンス化
デフォルトのスコープはsingletonです。つまり、Beanが再利用される(つまり1)いいえ、要求ごとに新しいオブジェクトが作成されないこと、2)はい、オブジェクト参照が再利用されることを意味します。
これはすべて設定できます。 http://static.springsource.org/spring/docs/3.0.x/spring-framework-reference/html/beans.html#beans-factory-scopesをご覧ください。
すべては、Beanスコープによって異なります。デフォルトでは、すべてのBeanはシングルトンスコープにあります。つまり、それらはコンテナによって一度だけインスタンス化されます。
@Scope("request")
(または同等のxml)を指定すると、要求スコープ付きコントローラのすべてのインスタンスに同じサービスオブジェクト(シングルトン)が注入されます。 (ただし、リクエストスコープのコントローラはほとんど必要ありません)