最近的 Java 项目之感想

2017-11-16 09:29:52 +08:00
 assad

最近接了两个小活,都是 Web 项目,客户指定 JAVA

基本采用的 SSM 以及 Srping Boot,总体感觉。

JAVA 的写法,还是太啰嗦,一堆 set,get,一个类里面,净是 get,set 了

持久层的 mybatis,感觉基本就是手写 SQL 了,因为项目较小,没有复杂的表连接操作,所以感觉使用 mybatis 是有点用错了。把 sql 写到一个 xml 文件里,项目 SQL 非常多的话,可读性就差的很了。我真想说,挫,挫,挫。不会写 sql 的,就完犊子了。

部署,因为很不喜欢 Tomcat,但是 Java 的开发人员选用了 Tomcat。客户提供的运行环境是 Windows,部署就花了半天,不是这个问题,就是哪个问题。JDK 版本不一致,JVM 内存不足无法启动,启动时间及其慢。我想,这要是 PHP 或者 Python,那是分分钟的事啊。Java 部署怎么这么难。写项目的这个哥们还是个 5 年经验的。

然后因为最初写项目的哥们要离职,交接项目,新来的哥们是个 6 年经验的。结果前面那哥们的项目,git 上 down 下来,愣愣是折腾了大半天,才把项目跑起来。我就想,至于么,别人的项目代码,别人想要跑起来,也不至于折腾这么长时间啊。

最后,项目预上线,客户不停提出修改页面啊什么的

每次修改完,都要重新部署。我的个哥,痛苦异常。就是改了模板上一个简单的标签,得,重新部署。

难道不痛苦么?好痛苦啊。我对 JAVA 一直没好感,严谨导致啰嗦。各种规则,各种乱七八糟的玩意。

哎,人生苦短,我用 Python。还有我的 PHP。

一家之言,大家轻喷。

16559 次点击
所在节点    程序员
142 条回复
6IbA2bj5ip3tK49j
2017-11-16 10:02:32 +08:00
1,用 lombok,或者换 kotlin
2,我也不用 mybatis,反正 crud,用 spring data jpa 还不是美滋滋,闭着眼睛写 named query method
3,版本问题不是 java 的锅,哪家都会遇到这个问题。系统也不是 java 的锅,让你在 Windows 下部署 php,python 就方便了?
……
总体上讲,java 是有很多诟病的位置,但你说的这些都不是。
domty
2017-11-16 10:03:02 +08:00
mybatis 有专门的 generator 插件,能根据数据库表结构自动生成 entity 类,mapper 类及 mapper.xml 文件,主要用于单表的 crud。我只有在写多表间的操作的 sql 时才会去写 mapper。

至于改个 jsp 页面标签之类的东西就要重新部署,你不知道有个东西叫热部署吗?
microhz
2017-11-16 10:03:14 +08:00
setter 和 getter 和构造器可以用 lambok
springsummer
2017-11-16 10:03:50 +08:00
@odirus 用 js 框架里看到源码里某个属性 undefined。基本就懵逼了。
suxiaozi
2017-11-16 10:04:14 +08:00
看实际场景,小的外包项目,我们老板要快,那我就用 Python 或 PHP,不过以前做银行类系统还是指明要求用 Java
arnoldFu
2017-11-16 10:05:36 +08:00
sql 可以使用通用 mapper 吧简单的增删改查封装好,比如 mybatis-plus,单表操作基本不用往 xml 里面写
assad
2017-11-16 10:09:18 +08:00
哎,我让我们的 JAVA 技术好好看看你们的回复,好好学习大牛们的经验
odirus
2017-11-16 10:09:57 +08:00
@springsummer

有些项目我都持续开发三四年了,要是当时用弱类型语言的话。。。我估计要崩溃
nicevar
2017-11-16 10:10:06 +08:00
楼主说难听点就是能力差点,你描述的问题都有好的解决方案,上面很多 v 友已经说了,说实话我头一次见人说 java 部署比 python 复杂的,你也真是搞笑,我也是自己做项目的,Java 和 Go 都用,Java 的项目完全可以自动部署,改了文件根本不用自己操心
assad
2017-11-16 10:10:36 +08:00
@DeadLion 我也是这么想的
jtn007
2017-11-16 10:10:54 +08:00
不喜欢写 sql,有 mybatis-generator 自动帮你生成,或者更简单的 mybatis 也可以做映射。
windows 环境下部署很多东西都麻烦,不是 Tomcat 的问题。
java 最合适大型项目,因为 spring cloud 有一整套完整的解决方案,全都有 spring 集成。如果只是小项目,那我用 ruby on rails 搭岂不是更快。本来技术选型就应该更具项目需求和人员能力而定,如果是客户指定的,那你要么不要接,要么就忍着。
6IbA2bj5ip3tK49j
2017-11-16 10:11:05 +08:00
java 很多人 ssm 老本吃 5,6 年。拿着祖传代码复制来复制去的。
assad
2017-11-16 10:11:43 +08:00
@nicevar 学习学习啊,分享一下啊。我没参与 JAVA 项目,我让我们的技术和你学习
heeexy
2017-11-16 10:12:33 +08:00
小项目直接不用实体类, fastjson 的 JSONObject 把 mybatis 的结果全包了,就是可读性差了些
assad
2017-11-16 10:13:05 +08:00
@jtn007 我当时也吐槽呢,NND,用什么 Windows。客户说他们也不懂啊,就用了 Windows。
thundernet8
2017-11-16 10:13:20 +08:00
刚学 Java 一个月的时候就知道 lombok 了 从别人的项目学到的,mybati 官方提供了 mapper entity 生成工具 还有人做了个 gui 版本 你学 Java 这么久不应该不了解吧
CoderXiaode
2017-11-16 10:17:56 +08:00
@assad 我觉得你说的 5,6 年 java 开发经验水分严重;@ququzone 说的基本上是业界共识,我还是个学生党都知道应该这么解决;另外,你吐槽的 java 的 get,set,基本上都是利用 ide 自动生成的,没人手写的,跟语言无关。吐槽要吐到点子上,不然就浅薄了。
happypy1
2017-11-16 10:18:05 +08:00
现在都流行黑 Java 吗?
xuchen
2017-11-16 10:18:20 +08:00
@suxiaozi 我也是做 PHP 的好多年了,创业公司和银行合作以后 无论项目大小 基本都是 Java 搞,所以也学了 1 年 Java 也就会配个环境 写个 curd。没办法政企和银行不做 Java 项目谈不下来
assad
2017-11-16 10:18:48 +08:00
@CoderXiaode 就算自动生成,看着都烦。啰里啰嗦的

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

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

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

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

© 2021 V2EX