【发布时间】:2020-05-14 23:25:20
【问题描述】:
我非常习惯使用 Spring 应用程序。在使用 Spring Boot 创建 Web 服务器时,我想提供一个客户端库以便于访问 API 端点。
在这个库中,我使用 Spring 的 RestTemplate,因为我习惯了它的 api。
在创建这个库时,我遇到了这个问题:
private final RestTemplate restTemplate;
public HQConnection(RestTemplateBuilder restTemplateBuilder) {
restTemplate = restTemplateBuilder.build();
}
当我编写测试以查看实际使用的 API 类时,我正在使用 @Autowire 注入这个组件 - 对我来说很正常,因为我已经习惯了 Spring 的 DI。
但后来我意识到了一些事情。那些不使用 Spring Framework 的 android 开发人员呢?
他们必须自己实例化HQConnection。这将是一个很大的麻烦,因为他们必须将 Spring 加入他们的应用程序(如果这可能的话?)才能访问RestTemplateBuilder。
我在想“我怎样才能使这个 API 易于使用并隐藏 Spring 细节?”。我还不能做出答案,因此在这里寻求一些指导。
【问题讨论】:
标签: java spring spring-boot