java-我真的需要在Spring中创建接口吗?

在我的Spring项目中,我有许多简单的服务来获取数据(只是一个简单的CRUD).启动该项目的开发人员的设计是为每个服务创建实现,例如

public interface UserService

然后像

public class UserServiceImpl implements UserService

由于UserService没有更多的实现机会,所以我真的很讨厌这些Impl后缀,而且阅读的内容也更多(例如this article),我意识到自己有病的原因

上周,我与一个团队的朋友进行了讨论,我与他分享了我的想法,但他的回答是“基本上您是对的,但Spring喜欢使用界面,并且与他们合作比与课堂合作更好”.

不幸的是,我不是Spring方面的专家,但是我试图寻找一些论点,但我找不到答案.

在Spring中使用这种方法为每个小服务类都提供接口是否有一些强有力的论据?

最佳答案
我可以从现实世界的项目中得知,如果在没有接口的情况下仅具有实现类也可以工作.遵循“您将不需要它”(YAGNI)的原则,如果遵循该规则,则可以简化代码.

当然,您可以编写和重用测试实现,但是您可以通过模拟来做到这一点,例如使用mockito并覆盖测试用例的实现类的行为.

相关文章

这篇文章主要介绍了spring的事务传播属性REQUIRED_NESTED的原...
今天小编给大家分享的是一文解析spring中事务的传播机制,相...
这篇文章主要介绍了SpringCloudAlibaba和SpringCloud有什么区...
本篇文章和大家了解一下SpringCloud整合XXL-Job的几个步骤。...
本篇文章和大家了解一下Spring延迟初始化会遇到什么问题。有...
这篇文章主要介绍了怎么使用Spring提供的不同缓存注解实现缓...