- Java入門・初心者質問スレ [無断転載禁止]©2ch.net
909 :デフォルトの名無しさん[sage]:2016/10/31(月) 02:15:35.73 ID:sJgNRili - MVCのWebアプリについて教えて下さい。
リクエスト毎にインスタンスを生成するControllerクラスがあります。 ControllerクラスにServiceクラスをインスタンス変数として、DIコンテナでインジェクトします。 この際に、DIのライフサイクルをシングルトンにします。 1回目のリクエストのControllerクラスでは indexメソッド内でserviceのメソッドがメソッド内で呼ばれるとします。 2回目にリクエストでもController.indexメソッドが呼ばれます。 この時、serviceクラスはnullでしょうか? それとも1回目のControllerクラスでDIしたインスタンスが2回目も使われるのでしょうか?
|
- Java入門・初心者質問スレ [無断転載禁止]©2ch.net
915 :909[sage]:2016/10/31(月) 12:01:32.93 ID:sJgNRili - >>911
ありがとうございます。もう1つ質問させてください。 ではServletとDIコンテナを併用して使う場合のケースです。 サーブレットクラスのインスタンス変数にserviceクラスを持つとします。 通常だとServletはシングルトンなのでクラスのインスタンス変数はスレッドセーフではないですが、 DIコンテナの設定をリクエスト毎にした場合は、 1回目、2回目、3回目・・・と アクセスされるたび、serviceにインスタンスがDIされますか? それとも呼び出し元のクラスが新たにインスタンス生成されないので同じインスタンスが共有されますか?
|
- Java入門・初心者質問スレ [無断転載禁止]©2ch.net
918 :デフォルトの名無しさん[]:2016/10/31(月) 21:34:08.02 ID:sJgNRili - >>917
どういうことですか?
|