Spring引导应用程序中的类变量



我正在将一个存储库类自动装配到另一个服务类中。存储库类有两个声明为私有但未初始化的成员变量。这些成员变量的值是在请求过程中调用存储库类的一个方法时设置的。最后,在服务类中,我通过调用存储库类的getter方法填充响应对象,该方法分别返回类变量。

考虑到api将被多个用户调用,我想知道这是否是不好的做法。但是,根据现有的代码设计,将响应对象作为引用传递给存储库类是一项繁琐的工作。

下面是我在DataResponse对象中设置PageCount和TotalHits的服务类。存储库类(userInfoRepositoryV2)最初在方法的第一行中调用,之后设置两个类变量的值。

public DataResponse getUserInfoV5(String startDate, String endDate, String searchCriteria, RequestType requestType, String userId, Boolean retryable, Integer page, Integer size) throws BadRequestException,EsDataGenerationException {
FailedUsersV3 failedUsers = userHandler.getUserInfoResponseV5(startDate, endDate, searchCriteria,requestType, userId, retryable, page, size);
DataResponse dataResponse = new DataResponse();
dataResponse.setPage(page);
dataResponse.setPageCount(userInfoRepositoryV2.getPageCount());
dataResponse.setTotalHits(userInfoRepositoryV2.getTotalHits());
dataResponse.setData(failedUsers);
dataResponse.setMeta(new MetaResponse(MetaCodes.SUCCESS.name(), MetaCodes.SUCCESS.getCode(), MetaCodes.SUCCESS.getMessage(), null, null));
return dataResponse;
}

是的,这被认为是一个不好的做法,当多个请求传入时,将数据保存在单例中会导致意想不到的结果。如果不提供更多的上下文,很难提出建议,但通常在存储库方法的响应中返回数据将是一种方法。

最新更新