V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
skyworker
V2EX  ›  Java

原团队用的 laravel,现在需要用 Java /spring 做新项目,如何选择框架?

  •  
  •   skyworker · 2022-02-13 12:14:23 +08:00 · 2008 次点击
    这是一个创建于 795 天前的主题,其中的信息可能已经有所发展或是发生改变。

    新项目, 甲方要求必须用 java/spring 做 api 后端. 原团队一直用的是 php/laravel

    如何选择 java 框架(主要是 ORM 框架, JPA or mybatis 或者其他, 能做到跟 laravel 的 ORM 一样简单方便), 才能做到最快速度的启动项目?

    Innovatino
        1
    Innovatino  
       2022-02-13 12:29:32 +08:00 via iPhone
    你得说说 lavaral 让你觉得方便的点,才好推荐。
    Bingchunmoli
        2
    Bingchunmoli  
       2022-02-13 12:41:20 +08:00   ❤️ 2
    java 只有 springboot 的 ssm 吧,这个主流,外包甲方用 java 价格会比 PHP 贵一点。 想快速启动,看看 ruoyi 这种脚手架,带代码生成,基本都是小改就能上线
    skyworker
        3
    skyworker  
    OP
       2022-02-13 13:05:10 +08:00
    @Innovatino

    lavaral 是 all in one 的框架, 不需要选择组件来拼凑. 比如说创建一个 customer 表 resetfull 的后端 api

    1. artisan 脚手架创建一个 migration 文件, 维护数据库模式(id, name, email...), 这一步需要填写几个字段名称.

    2. artisan 脚手架创建一个 model 文件, 把 protected $fillable = ['name','email',...] 填写下

    3. artisan 脚手架创建 controller, 把依赖的 model 改为 Customer

    4. 然后 http://lcoalhost/customer 就有了 CRUD 接口, 并且默认接口支持 paginate 分页.

    基本上几分钟就能搞起来一个接口的基本信息.

    如果用 spring, Maven Dependencies/Entity/Repository/Service/DTO/Controller 耗费时间长, 代码冗长.

    并且如果 customer 里面的字段有增加, laravel 只需要把 model 文件中 $fillable = ['name','email',...] 增加字段名就行了, 其他的 controller 接口之类的信息什么都不用改(业务系统中频繁增加字段 /删除字段太常见了)

    而 java 中, Service/DTO/Controller 又要好几十行代码的改动.
    skyworker
        4
    skyworker  
    OP
       2022-02-13 13:21:49 +08:00
    @Bingchunmoli 多谢
    sheeta
        5
    sheeta  
       2022-02-13 13:38:07 +08:00 via Android
    java 中没有类似于 laravel 好用的 orm ,都很难用
    ccppgo
        6
    ccppgo  
       2022-02-13 14:11:53 +08:00   ❤️ 1
    java 没有这种 orm , 最多选 mybaits-plus ,不写 sql 的话 单表查询 代码组装,麻烦一点
    JaguarJack
        7
    JaguarJack  
       2022-02-14 08:52:05 +08:00 via iPhone
    会很痛苦😖
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   4706 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 27ms · UTC 01:09 · PVG 09:09 · LAX 18:09 · JFK 21:09
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.