Spring 开发,流程冗余

284 天前
 kachu673

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

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

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

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

不过 java 的确没啥特别好用的 ORM 啊
linyuyizhizou
284 天前
Rails:?
teliang
284 天前
在 Spring 开发中,可能会存在一些流程冗余的情况,这可能是由于以下原因造成的:

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

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

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

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

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

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

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

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

总之,避免流程冗余是一个持续不断的过程,需要开发人员不断地学习和改进自己的开发方法和理念。
neptuno
284 天前
直接 controller 调用 mapper 就好了呀,变通一下
L0L
284 天前
Spring 本来是为了简化 J2EE 开发的,结果曾经的屠龙少年也慢慢变成了巨龙了
bringyou
283 天前
试试 spring data jpa 吧

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

https://www.v2ex.com/t/960762

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

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

© 2021 V2EX