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

Java 不用 Spring 还能用点什么?

  •  1
     
  •   yuekcc · 2022-10-14 22:10:32 +08:00 · 5435 次点击
    这是一个创建于 531 天前的主题,其中的信息可能已经有所发展或是发生改变。
    打算用 java 做点 web 的东西,不用 spring 还能什么推荐?
    37 条回复    2022-10-20 23:47:40 +08:00
    wolfie
        1
    wolfie  
       2022-10-14 22:15:45 +08:00
    quarkus
    kwh
        2
    kwh  
       2022-10-14 22:16:31 +08:00
    netty
    wizzer
        3
    wizzer  
       2022-10-14 22:17:24 +08:00 via Android
    nutzboot

    https://demo.budwk.com
    文档
    https://budwk.xom/docs
    chendy
        4
    chendy  
       2022-10-14 22:20:23 +08:00
    https://quarkus.io/

    不过说实话 spring 依然是生态最好资料最多难度最低的
    LeegoYih
        5
    LeegoYih  
       2022-10-14 22:26:37 +08:00
    SuperMild
        6
    SuperMild  
       2022-10-14 22:31:26 +08:00
    如果只是简单的网址可以试试 Javalin, 非常易学易用,我之前写过一篇使用心得 https://geeknote.net/SuperMild/posts/1428
    oneisall8955
        7
    oneisall8955  
       2022-10-14 22:35:33 +08:00 via Android
    vertex
    y0bcn
        8
    y0bcn  
       2022-10-14 22:52:17 +08:00
    vert.x
    duanxianze
        9
    duanxianze  
       2022-10-14 22:54:08 +08:00
    上标准 javaee
    Aloento
        10
    Aloento  
       2022-10-14 22:54:44 +08:00
    有没有一种可能是不用 Java
    iseki
        11
    iseki  
       2022-10-14 22:58:20 +08:00 via Android
    用 Kotlin 吧,Web 楼上有说 quarkus 或者 vertx 自己动手。忘了 Kotlin 还有个 ktor
    ychost
        12
    ychost  
       2022-10-14 22:58:24 +08:00
    micronaut 不错,不过都是 Spring 的思想,只是全靠 APT 编译的时候实现依赖注入等
    yuekcc
        13
    yuekcc  
    OP
       2022-10-14 23:05:52 +08:00
    @Aloento 主要就为了练练手,公司主要用 java ,但是用看包装 x 层的 spring 。转前端好几年了,想着搞点 java ,后面整点 kpi 活。
    yuekcc
        14
    yuekcc  
    OP
       2022-10-14 23:11:42 +08:00
    @iseki kotlin 1.0 时候用过一阵,不过项目后来 java 重写了。kotlin 实现找不到人。不知道现在有没有好点。公司好多小伙连 var x = new XX(); 这种语法糖都不吃。
    yuekcc
        15
    yuekcc  
    OP
       2022-10-14 23:20:19 +08:00
    @SuperMild 看到你的 monostich 了。请教个问题。

    为什么 jar 里有 kotlin 的 class ,是因为 javalin 引入的吗?
    SuperMild
        16
    SuperMild  
       2022-10-14 23:43:49 +08:00
    @yuekcc monostich 不直接依赖 kotlin, 我也猜可能是 javalin 引入的,它的 pom 里有 kontlin https://github.com/javalin/javalin/blob/master/pom.xml
    BugCry
        17
    BugCry  
       2022-10-14 23:52:21 +08:00 via Android
    OP 是前端呀,考虑一下 Node 一把梭?
    issakchill
        18
    issakchill  
       2022-10-15 00:09:30 +08:00
    vert.x
    fkdog
        19
    fkdog  
       2022-10-15 00:26:42 +08:00
    不用 spring 那用什么呢?有什么需求是 spring 搞不定的吗?
    像前端那样冬一个轮子 西一个轮子么?
    zhaogaz
        20
    zhaogaz  
       2022-10-15 00:37:36 +08:00
    听过 play ,
    用过 dropwizard

    如果你不想引入 spring web 这是有可能实现的
    如果你不想引入 spring 依赖注入,这个比较难。。,不过我也没太留意过其他的
    yuekcc
        21
    yuekcc  
    OP
       2022-10-15 00:38:50 +08:00
    @fkdog java 也是各种轮子,各个开发语言都差不多。只是 js 圈造轮子比较娱乐,上头条机会比较多。
    xgfan
        22
    xgfan  
       2022-10-15 01:24:36 +08:00
    推荐个 orm 吧,exposed
    roundgis
        23
    roundgis  
       2022-10-15 02:05:08 +08:00 via Android
    @yuekcc javalin 好像是用 kotlin 寫的
    MrHyde
        24
    MrHyde  
       2022-10-15 02:13:00 +08:00
    写微服务,可以用 spark
    byte10
        25
    byte10  
       2022-10-15 09:05:51 +08:00
    可以直接用 springboot ,但是不使用 springmvc ,而是引入 vertx ,最近一个项目就是这个搞的,感觉玩法也有意思。springboot 主要是兼容以前一些框架使用(避免造轮子折腾),然后使用线程池 来 解决部分 block ,其他都放进 vertx 。不过最近又引入了 java19 把虚拟线程加进来,但是遇到非常多奇怪的问题,虚拟线程执行一半,就消失了(从日志看,没执行下面代码),还是得琢磨下。不过随时可以切回原来的 java11 的版本代码逻辑。
    yannxia
        26
    yannxia  
       2022-10-15 10:00:28 +08:00
    说个题外话,写了很久的 Reactor 化的代码,体验不是很舒服,感觉还是等 VirtualThreade 普及之后才有比较爽的框架,不过那个时候 Spring 应该也挺好用的
    nutting
        27
    nutting  
       2022-10-15 10:36:55 +08:00
    jsp+java 单例
    MakHoCheung
        28
    MakHoCheung  
       2022-10-15 11:01:23 +08:00
    练手就用新东西
    我早上才发完贴
    https://v2ex.com/t/887057#reply1
    没有了 Servlet 、没有了响应式那种东西
    lmshl
        29
    lmshl  
       2022-10-15 11:45:02 +08:00
    kotlin 写 web 用 ktor + exposed
    scala 写 web 那选择可太多了,tapir / akka-http / zio-http / http4s / ... + slick / quill/ doobie / ... 等等,三大生态任你选择,库质量高的一批
    yjxjn
        30
    yjxjn  
       2022-10-15 12:01:59 +08:00
    JSF ,我们去年完事的项目就用的 JSF~
    dayeye2006199
        31
    dayeye2006199  
       2022-10-15 12:36:59 +08:00
    Jersey
    yuekcc
        32
    yuekcc  
    OP
       2022-10-15 13:40:36 +08:00
    @MakHoCheung 我也是这么想的。就是玩点新东西。看着 VirtualThread 和 goroutine 很像,没有仔细对比。感觉 VirtualThread 又可以造一波轮子。
    CoffeeY
        33
    CoffeeY  
       2022-10-15 15:47:43 +08:00
    vert.x
    mmdsun
        34
    mmdsun  
       2022-10-15 17:24:26 +08:00
    当然是 akka

    https://akka.io/docs/
    montaro2017
        35
    montaro2017  
       2022-10-17 14:02:00 +08:00
    Joker123456789
        36
    Joker123456789  
       2022-10-20 10:42:33 +08:00
    https://magician-io.com

    基于 netty 开发,如果不做分布式的话,组件还是挺齐全的。
    yuekcc
        37
    yuekcc  
    OP
       2022-10-20 23:47:40 +08:00   ❤️ 1
    统计了一下。感谢以上各位。

    ----

    akka 1
    dropwizard 1
    helidon níma 1
    javaee 1
    javalin 1
    jsf 1
    jsp+java 单例
    ktor 2
    magician 1
    micronaut 1
    netty 1
    nutzboot
    play 1
    quarkus 3
    spark 1
    springboot + vertx 1
    vertx 6

    Node 一把梭 1
    不用 Java 1
    scala 1 ( tapir / akka-http / zio-http / http4s / ... + slick / quill/ doobie / ... 等等)

    ----

    ORM exposed 1 (离题)

    ----

    大概率上 vertx 。发现 vertx 也整了个 Virtual Threads 的支持。其次是 javalin 、spark ,主要是代码量比较少。比较喜欢 javalin 的 api 。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   4909 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 31ms · UTC 01:11 · PVG 09:11 · LAX 18:11 · JFK 21:11
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.