コントローラがスレッドセーフであることを確認することはできますか?Spring MVCでコントローラのシングルトンBeanよりも要求スコープのBeanを使用する場合
上記の場合は、コントローラコードをインスタンス変数に依存させるのではなく、リクエストごとにBean作成のオーバーヘッドを行う必要がありますか?新しい要求が入ってきたときに
コントローラがスレッドセーフであることを確認することはできますか?Spring MVCでコントローラのシングルトンBeanよりも要求スコープのBeanを使用する場合
上記の場合は、コントローラコードをインスタンス変数に依存させるのではなく、リクエストごとにBean作成のオーバーヘッドを行う必要がありますか?新しい要求が入ってきたときに
デフォルトの位置は、スレッドセーフであるシングルトンコントローラを使用することです。これはパフォーマンス上の理由の一部と言えますが、部分的には設計の良さから、ステートフルなリクエストスコープBeanは大量に混乱します。
要求スコープのコントローラ(またはその他のリクエストスコープのBean)は、それが必要なときにのみ使用する必要がある特殊な要件です。つまり、その状態のビーンが特定のライフサイクル要求。
リクエストスコープのBeanは、クラスの短い生活インスタンスである、それらが作成されます。
シングルトンBeanは、アプリケーションの生涯を生きます。注:複数のセッションを持つマルチユーザーアプリケーションを使用している場合、シングルトンの場合、すべてのユーザーがBeanの同じインスタンスにアクセスします。
Webアプリケーションで可能な限りScoped Beanをリクエストすることをお勧めします。