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)都有一个相应接口的情况:
\npublic interface MyService {} \npublic class MyServiceImpl implement MyService {}\nRun Code Online (Sandbox Code Playgroud)\n99.99% 的情况下,这些接口永远不会被其他任何东西实现。为什么这在 springboot 中变得如此流行,每个服务类都有一个相应的接口,尽管没有其他东西可以实现这些接口?
\n对我来说,这似乎会带来更多的复杂性和需要维护的代码,但没有明显的好处。请注意,I\xe2\x80\x99m 仅严格指@Service类接口。
这样做是好的做法吗?这里有没有我\xe2\x80\x99m 缺少的东西。请问您对此的经验和想法是什么?
\n先感谢您!
\n基本上我在本地机器上有一个代码库,我运行:
git init
git add .
Run Code Online (Sandbox Code Playgroud)
此时,我意识到我想添加一个.gitignore文件。
所以我认为我需要取消提交,并以业余的方式执行了以下命令
git reset --hard
Run Code Online (Sandbox Code Playgroud)
现在我的整个代码库都消失了......
可以撤消吗!?