java 处理多个实体的Sping Boot 最佳实践

brvekthn  于 2023-01-11  发布在  Java
关注(0)|答案(2)|浏览(172)

我有一个数据库,它存储了多个相互关联的表,例如,我看过的关于如何在Sping Boot 中实现这类事情的教程通常会为每个实体创建一个Controller和Service。
我想问的是:这真的有必要吗?我想这可以用抽象类来完成,但需要确认。
在这一点上,在一个服务或控制器应用程序中,除了基本的东西之外,没有太多的东西是正常的吗?我的实现看起来简单得可怕,就像“肯定缺少了什么东西,不可能这么简单”。
如果适度真的反对问两个问题,那么请只回答第一个问题,抱歉给你带来麻烦,但我相信这些问题足够简单,不会引起任何麻烦:)

bgtovc5b

bgtovc5b1#

所以实际上,你是在为自己工作,但从更大的Angular 来看,大多数开发人员实际上与许多其他人一起工作。
因此,如果你进入Google或其他公司,在任何公司担任任何开发角色,你的代码将被团队中的其他人阅读,如果有的话。
在这种情况下,通常是 * 各地的情况 ,一般有一个发展规范,雇员应该遵循。
如果你正在建立自己的网站,那么你当然可以继续做下去!也许你不需要任何人看到你的代码,也许除了你之外没有人会看到你的代码。
但要意识到,在正常的世界里,人们被雇佣来作为团队工作,而不仅仅是单独工作,这意味着,为了方便工作,你必须遵循规范。
无论如何,你的 * 非常简单的实现似乎很好地在社交媒体上展示:)

agxfikkp

agxfikkp2#

如果你为不同的实体制作不同的控制器和服务层,这是很好的。这样做可以避免混淆。
例如:你正在制作一个博客应用程序。在这个应用程序中,你可以发布一个故事,任何人都可以评论这个故事,可以给故事添加标签。而且你还必须增加安全性,即只有经过认证的用户才能写文章,只有作者或管理员才能删除和更新文章,等等。
为此,您可以创建这些实体类- Story、Comment、Role、Tag、User。
你可以为不同的操作设置控制器,对于授权、登录和注册,你可以设置像AuthorizationController这样的控制器;对于与故事相关的CRUD操作,你可以设置StoryController;对于与评论相关的CRUD操作,你可以设置CommentController;对于管理标签,你可以设置TagController。
类似地,您可以为各自的控制器创建服务层和DAO层。
这样,您可以轻松地调试和维护代码。

相关问题