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

Spring 依旧是 Java 的主流框架吗?

  •  
  •   Iuranus · 2016-10-10 17:01:37 +08:00 · 8704 次点击
    这是一个创建于 2973 天前的主题,其中的信息可能已经有所发展或是发生改变。

    10 年接触 Java ,之后的两三年主要用当时颇为热门的 SSH2 做项目,但是 Struts 因为安全问题被诸多公司打入冷宫。后来因为工作环境,主要使用 Python 进行数据挖掘相关工作,也没有较多的时间去探究 Java 这些 Web 框架的发展和趋势。 想了解下目前 Spring 依旧是 Java 的主流框架吗?以 Spring Boot 为代表的微框架前景又是如何,听说社区还挺活跃的。

    还是不想放弃 Java 。

    22 条回复    2017-10-15 21:35:01 +08:00
    lonenol
        1
    lonenol  
       2016-10-10 17:06:26 +08:00
    现在已经不是主流,而是标配了..
    Sharuru
        2
    Sharuru  
       2016-10-10 17:16:18 +08:00
    三分钟前才在 IDEA 里开了个新的 Spring-boot-starter 的项目(
    ljcarsenal
        3
    ljcarsenal  
       2016-10-10 17:16:38 +08:00
    感觉楼主转变主力工作语言,方向很容易的样子啊。。
    jlkm2010
        4
    jlkm2010  
       2016-10-10 17:41:53 +08:00
    自从开始工作,就是 spring 全家桶,去年开始用 springboot
    riverphoenix
        5
    riverphoenix  
       2016-10-10 17:44:10 +08:00
    三年前面试阿里问了一堆 spring 的问题,前一阵去面试,恍惚回到了三年前
    Iuranus
        6
    Iuranus  
    OP
       2016-10-10 17:46:19 +08:00
    @lonenol 一词之差,哈哈~
    Iuranus
        7
    Iuranus  
    OP
       2016-10-10 17:46:49 +08:00
    @Sharuru 三分钟搭建一个 SpringBoot 项目?
    Iuranus
        8
    Iuranus  
    OP
       2016-10-10 17:48:13 +08:00
    @ljcarsenal Python 上手相对简单,没有 Java 那般需要储备很多知识。用 Python 真的是把语言当工具,能实现算法和策略就行。
    Iuranus
        9
    Iuranus  
    OP
       2016-10-10 17:49:09 +08:00
    @jlkm2010 听说 SpringBoot 目前坑还是挺多的,毕竟还在不断发展
    Iuranus
        10
    Iuranus  
    OP
       2016-10-10 17:51:02 +08:00
    @riverphoenix 请描述下 AOP 的含义?
    Guozi1989
        11
    Guozi1989  
       2016-10-10 18:20:04 +08:00
    Spring Boot 已经相对成熟了,只是更新比较频繁。
    twogoods
        12
    twogoods  
       2016-10-10 18:32:21 +08:00 via Android
    springboot 只是简化了 spring 的配置,启动也方便了,为什么它就跟微服务联系到一起了?
    woojuno
        13
    woojuno  
       2016-10-10 18:46:30 +08:00 via Android
    有什么能撼动 spring 框架的吗?
    qian0206
        14
    qian0206  
       2016-10-10 19:19:34 +08:00   ❤️ 1
    @twogoods 因为 spring-boot 开发减少了很多配置开发效率大大提高,对于微服务来说,粒度那么细,每个应用都要配置一堆东西那就太复杂了,加上能够和 spring-cloud 有很好的集成, spring-cloud 的很一套微服务的解决方案
    hantsy
        15
    hantsy  
       2016-10-10 20:06:35 +08:00   ❤️ 6
    Spring 核心的东西不多,常见的 Spring Boot , Spring MVC , Security , Batch , AMQP , Integration , Spring Data ( JPA , Mongo , Redis , Elasticsearch , Solr , CouchDB 等), Spring Social , Spring Session 等。

    但近两年 Spring 下面的衍生的第三集成产品多于牛毛,很多与 Spring 本身技术上关系不大,只是可以利用 Spring 简化一些集成工作,特别是 Spring Cloud , Spring Cloud Data Flow , Spring Cloud Stream 下面为适应用 Cloud 开发,集成了流行的开源工具, Netflix OSS , Apache Zookeeper , Moses ,等,产生了数十个小项目。

    Java EE 经过 5 , 6 , 7 三个版本不断改进, 本身越来越轻量, CDI 的设计个人觉得比 Spring IOC 舒服得多(实际上 Spring 4.x 的最新版本一些 IOC 改进都是 Copy 了 CDI ,如 [Meta annotations, Generic type injection, 参考 我的例子]( https://github.com/hantsy/spring4-sandbox/wiki), injectionPoint , 这些已经在 CDI 存在很多年,直到现在 Spring 4 才慢慢 Copy )。除了 IOC ,其它标准上的东西没什么好比较的,只是用法配置上有些不同,从 Transaction, JPA, Web(Spring 有 MVC , JavaEE 标准 JSF 也可在 Spring 中使用), JAXRS ( Spring 可以用 MVC 实现,也支持 JAXRS ), Bean Validation 等。 Apache DeltaSpike 简化了很 Java EE 操作。 Wildfy Swam 也作了大量 Netflix OSS 相关项目集成。

    至于什么地位,没必要去相互打口水战。

    我一向的观点,掌握 Java EE 标准是 Spring 开发的基础。任何从事 Java 开发的人都应该从阅读 Oracle 官方 Java 教程和 Java EE 教程 开始,全面了解一下 Java 体系。
    sheep3
        16
    sheep3  
       2016-10-10 20:07:26 +08:00
    @twogoods Spring Boot 和 Spring Cloud 集成很方便
    wingyiu
        17
    wingyiu  
       2016-10-10 22:10:22 +08:00
    随便翻开一个 spring 教程, 2/3 是配置代码...boot 也没好到哪里去
    Allianzcortex
        18
    Allianzcortex  
       2016-10-10 22:18:37 +08:00 via iPhone
    楼主说的什么都好,但什么叫做 Java 比 Python 需要更多的知识储备?最近就在写 Java , verbose 不是白说的,但确实是事实上的工业标准啊
    winglight2016
        19
    winglight2016  
       2016-10-11 16:19:30 +08:00
    我有四五年不用 spring 了,现在如果用 java 做 web ,首选 playframework
    q397064399
        20
    q397064399  
       2016-10-12 09:04:37 +08:00 via Android
    @winglight2016 spring mvc 依旧业界主流
    itommy
        21
    itommy  
       2017-03-14 15:31:39 +08:00
    楼主目前坐标在哪?
    jack80342
        22
    jack80342  
       2017-10-15 21:35:01 +08:00
    这几天翻译了最新的 Spring Boot 2.0 的英文文档,欢迎 Fork,https://www.gitbook.com/book/jack80342/spring-boot/details
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2691 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 26ms · UTC 12:13 · PVG 20:13 · LAX 04:13 · JFK 07:13
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.