Java 如何避免将相同的参数传递给所有方法?
在我的应用程序中,我有一些服务类,它们的无状态方法只在方法参数中运行 我的问题是,这些方法中有许多调用外部API,需要用户和应用程序请求它 一个简单的解决方案是将这些参数添加到所有服务方法中,例如:Java 如何避免将相同的参数传递给所有方法?,java,spring,stateless,Java,Spring,Stateless,在我的应用程序中,我有一些服务类,它们的无状态方法只在方法参数中运行 我的问题是,这些方法中有许多调用外部API,需要用户和应用程序请求它 一个简单的解决方案是将这些参数添加到所有服务方法中,例如: class RequestInformation{ private String user; private String application; } class SomeService{ foo(requestInformation, methodParamA, met
class RequestInformation{
private String user;
private String application;
}
class SomeService{
foo(requestInformation, methodParamA, methodParamB)
bar(requestInformation, methodParamA, methodParamB, methodParamC)
}
我不确定向所有服务类中的所有方法添加相同的RequestInformation参数是否是一个好主意
我还可以使用其他方法来避免在所有方法中使用RequestInformation?您的问题中有SPRING标记,所以假设您使用的是SPRING 您可以将特定于请求的信息存储到会话范围bean中。因此,它将是每个请求的新实例:
这样的bean可以自动连接到任何Springbean中。我的解决方案是将RequestInformation会话设置为作用域,并使用作用域代理将其注入到单例服务类中。