Spring 开发,流程冗余

2023-07-29 13:06:04 +08:00
 kachu673

使用 SpringBoot 开发项目,少不了要写 Controller 、Service 、Mapper ,虽然 MP 可以一定程度上简化后两者的开发,但必要时候仍要将三个过程全部走完。所以我想请教各位网友:

  1. 其他框架有没有简化这个步骤的?(我不在意代码的耦合,以及各种代码入侵)
  2. 能推荐一些快速开发的框架吗?
  3. 如果可以,我喜欢用 php 来开发(我觉得个人开发者掌握 php 是非常有必要的)
  4. 当然,使用 js 、python 、go 、cpp 的框架我也都可以接受。
7701 次点击
所在节点    Java
95 条回复
Goooooos
2023-07-29 13:12:23 +08:00
你不要 service 和 mapper 可以不写
用 jdbctemplate 把逻辑和 sql 都写 controller 不就可以了吗
leo97
2023-07-29 13:13:18 +08:00
MP 是啥??
kachu673
2023-07-29 13:17:30 +08:00
@leo97 MybatisPlus ,常见的单表操作全都包装好了,可以不写 Service 和 Mapper ,直接在 Controller 调包
echo1937
2023-07-29 13:18:51 +08:00
你直接 Controller + JDBCTemplate 一把梭是完全可以的,
依赖方面只需要 spring-webmvc + spring-jdbc 。
kachu673
2023-07-29 13:19:18 +08:00
@Goooooos 这样也是可以的,但总觉得像个异类。我想找个框架使用的就是这种写法的。或者说我的这个想法有点不正常
echo1937
2023-07-29 13:21:12 +08:00
然后需要什么自己搞一个工具类,类似 RedisUtils 、xxxxUtils 即可。
codingadog
2023-07-29 13:24:53 +08:00
规范是约束团队开发的,毕竟技术水平残次不齐,规范可以让底线不那么低,增强代码的可维护性。

个人项目想怎么整就怎么整。例如为什么有人总说 java 一堆 setter getter ?因为那是规范。个人项目直接全都 public 属性都行。
j1132888093
2023-07-29 13:29:46 +08:00
SpringBoot 也没要求你必须写 service mapper 啊,直接全部写 controller 里不就完了
me1onsoda
2023-07-29 13:32:52 +08:00
当然可以啊,一个 controller 搞定整个项目都是可以的
undeflife
2023-07-29 13:33:14 +08:00
jHipster
ikas
2023-07-29 13:35:36 +08:00
route().GET("/hello-world", request -> ServerResponse.ok().body("Hello World"))
把所有代码都写到这里.多一个类都是多余
😂
version
2023-07-29 13:40:55 +08:00
实际上看你用什么数据库...如果 mysql 那种老一套啥都改变不了.
mongodb 推荐 nodejs 或者 deno 做基本业务够用快速..也不需要定义结构体
pg 的可以查看下语言库好用不..最好直接能撸 原生的 sql 不要第三方 crud 转一层 DTO.到时候你很多特性和关联坑的很.不好扩展
啥语言都可以不要 MVC 架构...都可以单例一个数据库连接实例..直接在 controller 下操作数据库
justonelastdance
2023-07-29 13:55:36 +08:00
用的 nodejs 的 express
zoharSoul
2023-07-29 14:00:34 +08:00
你不管用什么, 分层思想是少不了的
magicfield
2023-07-29 14:06:40 +08:00
java 的各种规范框架本来就更适合团队开发,个人项目直接 controller 堆 shi 山都行。我写个人项目基本是 controller+单层 service ,不分 VOPODTO 不用 mapper 。至于更小的项目用 python+flask 轻量化写着也挺爽的。

个人项目代码量大了后规范化感觉也还是重要的,否则想改动逻辑各种重复代码、没扩展接口的问题会搞的想死。

不过 java 的确没啥特别好用的 ORM 啊
linyuyizhizou
2023-07-29 14:10:44 +08:00
Rails:?
teliang
2023-07-29 14:28:58 +08:00
在 Spring 开发中,可能会存在一些流程冗余的情况,这可能是由于以下原因造成的:

过度设计:在设计阶段,可能会为了应对未来的需求考虑过多,导致在实际开发中出现了冗余的流程。

缺乏经验:缺乏经验的开发人员可能会使用不必要的流程来解决问题,从而导致冗余。

历史遗留问题:某些代码可能是从早期的版本迁移过来的,而这些代码可能包含了过时的流程或者已经不再需要的流程。

为了避免流程冗余,可以采取以下措施:

简化设计:在设计阶段,尽可能避免过度设计,只考虑当前需要解决的问题,不要为未来可能出现的问题预留过多的设计空间。

增加经验:对于缺乏经验的开发人员,可以通过培训和指导等方式提高他们的水平,使他们能够更加有效地解决问题。

重构代码:对于历史遗留问题,可以通过重构代码来去除冗余的流程,使代码更加简洁和易于维护。

自动化流程:对于一些重复性的流程,可以考虑将其自动化,通过工具和脚本来实现,从而减少人工操作的时间和成本。

总之,避免流程冗余是一个持续不断的过程,需要开发人员不断地学习和改进自己的开发方法和理念。
neptuno
2023-07-29 14:33:25 +08:00
直接 controller 调用 mapper 就好了呀,变通一下
L0L
2023-07-29 15:32:48 +08:00
Spring 本来是为了简化 J2EE 开发的,结果曾经的屠龙少年也慢慢变成了巨龙了
bringyou
2023-07-29 15:46:35 +08:00
试试 spring data jpa 吧

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://tanronggui.xyz/t/960762

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX