java如何避免将相同的参数传递给所有方法?
在我的应用程序中,我有一些服务类,它们的无状态方法只在方法参数中运行
我的问题是,这些方法中有许多调用外部API,需要用户和应用程序请求它
一个简单的解决方案是将这些参数添加到所有服务方法中,例如:
class RequestInformation{
private String user;
private String application;
}
class SomeService{
foo(requestInformation, methodParamA, methodParamB)
bar(requestInformation, methodParamA, methodParamB, methodParamC)
}
我不确定向所有服务类中的所有方法添加相同的RequestInformation参数是否是一个好主意
我还可以使用其他方法来避免在所有方法中使用RequestInformation
# 1 楼答案
您的问题中有SPRING标记,所以假设您正在使用SPRING
您可以将特定于请求的信息存储到会话范围bean中。因此,它将是每个请求的新实例:
http://docs.spring.io/spring/docs/current/spring-framework-reference/htmlsingle/#beans-factory-scopes-request
这样的bean可以自动连接到任何Springbean中