2
私のspring mvcアプリケーションで、メソッドへの複数の呼び出しを避けるためにコードをリファクタリングしようとしています。複数の呼び出しを避け、パラメータとして渡さない値の格納状態
@RestController
Class A{
@Autowired
Service1 service1
@Autowired
Service2 service2
@RequestMapping(value = "/****/***", method = RequestMethod.GET)
aMethod(){
service1.service1Method(a,b)
service2.service2Method1(a,b)
service2.service2Method2(a,b)
}
@Component
class Service1{
service1Method(a,b)
{
String someValue = util.utilMethod();
}
}
@Component
class Service2{
service2Method1(a,b)
{
String someValue = util.utilMethod();
}
service2Method2(a,b)
{
String someValue = util.utilMethod();
}
}
@Component
class Util
{
String utilMethod()
{
return "something"
}
}
utilMethod()
はvalue.Hereは複数の呼び出しを避けるためにしようと1で処理することができます取得するには、3つの時間を呼び出します。
コントローラでutillメソッドを呼び出し、その値を3番目のパラメータとして渡すことができます。これと同じです。
@Autowired
Service1 service1
@Autowired
Service2 service2
@Request
aMethod(){
String someValue = util.utilMethod();
service1.service1Method(a,b,someValue)
service2.service2Method1(a,b,someValue)
service2.service2Method2(a,b,someValue)
}
しかし、このようにしたくない場合は、コードを変更する必要があります。 (要求ではなくセッションの)コントローラに値を格納する方法はありますか?service1クラスとservice2クラスを取得できますか?