为什么java社区喜欢config/Model first,而不喜欢code first?

kinuyツ-avatar

kinuyツ

2022-05-10T07:42:58+00:00

最近学了一下springBoot整合mybatis, redis. 我是自动化出身, 做过不少.Net的上位机/web项目. 说说Java社区的优点和值得吐槽的地方.

Java有功能强大的注解, 一般注解就完事, 只要在pom里面添加了包, 就不用特别去构建IOC容器和依赖注入, 直接annotation 完事. .Net也有类似于Pom的配置文件csproj, 在csproj添加相关依赖包后, 想要依赖注入还得手段去注入, 还要手动添加中间件, 非常不爽. .Net也有annotation, 但功能明显没有Java强大.

Java的ORM 让我很不爽. mybatis还需要配置Mapper, 还要亲自下场写Sql语句, 这ORM用了个寂寞. .NetCore的 EFcore直接就是lambda表达式, tab选择完事

而且Java程序员大多数先建数据库, 再连接数据库. 但是.Net程序员大多都是先建几个实体类, 然后一键生成数据库... 明显后一种更爽..

只怪Java没有好的桌面端GUI, 对各种通信协议也支持的很少, PLC, 运动控制卡,机器人,机器视觉厂家也没几家支持Java的, 不然搞自动化就不用学七八门语言了. 算下来为了深度学习计算机视觉发专利,发文章我学了python. 为了写QT学了C++ . 为了写winform, wpf 运动控制, PLC 我学了C#. 为了搞嵌入式我学了C. 为了物联网项目我学了Java.
kinuyツ-avatar

kinuyツ

这个不会也发不出来把
the apostal of cheese-avatar

the apostal of cheese

所以为啥不用能做到你说的事情的jpa 呢
willsharpkiller-avatar

willsharpkiller

这不是楼主第一次吐槽Java了吧,这么难受为啥不放弃Java直接用.Net呢?
Galaxyy-avatar

Galaxyy

jpa or hibernate能满足你的需求。
kinuyツ-avatar

kinuyツ

[quote][pid=610800136,31910929,1]Reply[/pid] Post by [uid=60783789]杀穿这些废物[/uid] (2022-05-15 15:50):

这不是楼主第一次吐槽Java了吧,这么难受为啥不放弃Java直接用.Net呢?[/quote]生态丰富啊。。.net做小项目还行。大项目还不如直接Java复制粘贴
Tokimora-avatar

Tokimora

你说的这些,插件都能做到,mybatilsplus也可以,jpa也可以。
为什么不先问问是不是呢
hyraxious-avatar

hyraxious

mybatis plus 可以 lambda表达式啊
Hibernate 比lambda更爽吧
Tokimora-avatar

Tokimora

java本来也不是搞gui的,本身搞服务端也没必要弄个gui放那。
抗造才是java的优势
kuuko-avatar

kuuko

有一说一java的orm确实很垃圾,只能自己魔改。优点和缺点都在于此,如果架构比较成熟数据不需要大改的话还是挺方便的。搭架子的过程非常耗神。
Brookba-avatar

Brookba

code first实体类变更会修改表结构吧,风险还是比较大的。
CopyypoC-avatar

CopyypoC

java现在的核心优点是社区环境过于友好,各种但凡有点名气的中间件都有JAVA包。 出了问题,都不用去git提ISSUE, 直接stackoverflow都能搜到答案。

有了这个优势,从业人员就很多。 从业人员多了,招人自然招Java背景的。

比如我们部门要新搞一个项目去招人,我自己是JAVA背景,我肯定也会招JAVA的,这样形成了相互促进的关系。 所以.net再咋样,也注定沦为小众了。

除了微软,和美国的一些中小公司,真没多少用.NET的。