小编har*_*rry的帖子

SpringBoot应用程序中的每个@Service类是否都应该实现一个接口

Spring/SpringBoot 粉丝/专家大家好,

\n

希望你\xe2\x80\x99一切顺利。我\xe2\x80\x99已经解决这个问题有一段时间了,我想我\xe2\x80\x99d向spring/springboot专家询问他们对此的意见和经验。它\xe2\x80\x99是关于接口的,因为它与它在springboot中的使用有关。

\n

首先我要说的是;从 Java 或软件工程的角度来看,我理解并清楚接口的使用或目的,它们是契约。

\n

因此,从 springboot 作为 FRAMEWORK/library 的角度来看,它在框架源代码中是有意义的。

\n

现在,从 springboot 作为应用程序我看到了每个服务类(@Service)都有一个相应接口的情况:

\n
public interface MyService {} \npublic class MyServiceImpl implement MyService {}\n
Run Code Online (Sandbox Code Playgroud)\n

99.99% 的情况下,这些接口永远不会被其他任何东西实现。为什么这在 springboot 中变得如此流行,每个服务类都有一个相应的接口,尽管没有其他东西可以实现这些接口?

\n

对我来说,这似乎会带来更多的复杂性和需要维护的代码,但没有明显的好处。请注意,I\xe2\x80\x99m 仅严格指@Service类接口。

\n

这样做是好的做法吗?这里有没有我\xe2\x80\x99m 缺少的东西。请问您对此的经验和想法是什么?

\n

先感谢您!

\n

java spring spring-boot

4
推荐指数
1
解决办法
1663
查看次数

在第一次提交之前撤消“git reset --hard”

基本上我在本地机器上有一个代码库,我运行:

git init

git add .
Run Code Online (Sandbox Code Playgroud)

此时,我意识到我想添加一个.gitignore文件。

所以我认为我需要取消提交,并以业余的方式执行了以下命令

git reset --hard 
Run Code Online (Sandbox Code Playgroud)

现在我的整个代码库都消失了......

可以撤消吗!?

git

3
推荐指数
1
解决办法
152
查看次数

标签 统计

git ×1

java ×1

spring ×1

spring-boot ×1