SpringでWebサービスを作成しています。
「シングルトン」というキーワードについて調べていたところ、
「インスタンスの生成はコストが高いのでgetInstance()などの
メソッドを作成し、インスタンスが生成されてない場合のみnewすること」とありましたが
そもそもリクエストを受けて生成したインスタンスのスコープがよくわかってません。
Helloを出力するような単純なコンソールプログラムなら
javaコマンドでプログラムを起動し、該当箇所(new Hello()など)でインスタンスを生成して
プログラム終了時にすべて破棄されるというイメージはつきます。
Webサービスの場合はリクエストを受けてからアクションやサービスクラスの該当箇所(new Hello()など)で
インスタンスを生成し、レスポンスを返すときに破棄されると思っていたのですが、
シングルトンを調べているとインスタンスを使いまわすというような記述があります。
ということは、クライアント(A)からリクエストがあり任意のインスタンス生成する処理があった場合、
生成されたインスタンスは他のクライアント(B)も参照・変更可能になっているということでしょうか?
回答3件
あなたの回答
tips
プレビュー