V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX 提问指南
h2so4
V2EX  ›  问与答

Spring、Spring MVC 、Spring Boot 的区别是什么呢?

  •  4
     
  •   h2so4 · 2016-11-01 16:52:08 +08:00 · 59652 次点击
    这是一个创建于 2946 天前的主题,其中的信息可能已经有所发展或是发生改变。

    新人想问下这几者之间的区别是啥呢?有什么联系呢?

    PS :昨天在这个帖子里学到了很多,也借楼咨询可惜是小透明....遂发帖提问

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

    16 条回复    2017-09-21 23:12:05 +08:00
    h2so4
        1
    h2so4  
    OP
       2016-11-01 16:58:05 +08:00   ❤️ 1
    FreeDog
        2
    FreeDog  
       2016-11-01 17:05:38 +08:00
    建议看官方文档,这真的不是什么有深度的问题。
    FreeDog
        3
    FreeDog  
       2016-11-01 17:07:07 +08:00
    例如 Spring 的官网 https://spring.io/,有个 Guides ,可以看下例子 https://spring.io/guides
    ad0be
        4
    ad0be  
       2016-11-01 17:09:21 +08:00
    作者:付红涛
    链接: https://www.zhihu.com/question/47304987/answer/105505377
    来源:知乎
    著作权归作者所有,转载请联系作者获得授权。

    谢邀,说实话,这两个都没用过, spring boot 下个项目会用,作为 app 的服务端框架, spring boot 我理解就是把 spring spring mvc spring data jpa 等等的一些常用的常用的基础框架组合起来,提供默认的配置,然后提供可插拔的设计,就是各种 starter ,来方便开发者使用这一系列的技术,套用官方的一句话, spring 家族发展到今天,已经很庞大了,作为一个开发者,如果想要使用 spring 家族一系列的技术,需要一个一个的搞配置,然后还有个版本兼容性问题,其实挺麻烦的,偶尔也会有小坑出现,其实蛮影响开发进度, spring boot 就是来解决这个问题,提供了一个解决方案吧,可以先不关心如何配置,可以快速的启动开发,进行业务逻辑编写,各种需要的技术,加入 starter 就配置好了,直接使用,可以说追求开箱即用的效果吧, srping cloud 看名称,就是云啊,现在流行云技术啊, spring boot 可以支持你快速的开发出 restful 风格的微服务架构,但是这还不够啊,还要上云,所以有了 spring cloud ,至于 spring cloud 具体的技术细节,还没研究,也没有应用,等我用到了,再回来补充吧,先这些~
    2016-10-10
    最近使用 spring boot 搭建了新项目框架,遇到了一些小问题,都可以解决,感觉把应用打包成 jar 然后运行真的是很方便,构建成 docker 镜像然后运行也是很简单,先这样, spring cloud 还没用到,用到的时候再说


    @h2so4 咦....我也是萌新....这个其实我也查过,黏贴一段知乎的回答吧~(不知道是不是准确,不过蛮通俗易懂的,具体的还是等大神回答哈)
    h2so4
        5
    h2so4  
    OP
       2016-11-01 17:12:08 +08:00
    @ad0be 恩恩

    @FreeDog 额....好吧...
    cs4814751
        6
    cs4814751  
       2016-11-01 18:01:33 +08:00   ❤️ 1
    spring 框架有超多的延伸产品例如 boot security jpa etc... 但它的基础就是 spring 的 ioc 和 aop ioc 提供了依赖注入的容器 aop 解决了面向横切面的编程 然后在此两者的基础上实现了其他延伸产品的高级功能 Spring MVC 呢是基于 Servlet 的一个 MVC 框架 主要解决 WEB 开发的问题 因为 Spring 的配置太复杂了 各种 XML JavaConfig hin 麻烦 于是懒人改变世界推出了 Spring boot 约定优于配置 简化了 spring 的配置流程 简单谈下自己的理解 也没有学很久 若有错误请指正
    h2so4
        7
    h2so4  
    OP
       2016-11-01 18:40:14 +08:00
    @cs4814751 讲的很清楚,感谢~
    vzlf
        8
    vzlf  
       2016-11-01 18:46:39 +08:00
    mark
    Cbdy
        9
    Cbdy  
       2016-11-01 20:27:05 +08:00 via Android   ❤️ 2
    大概说一下:
    Spring 是一个“引擎”
    Spring MVC 是基于 Spring 的一个 MVC 框架
    Spring Boot 是基于 Spring4 的条件注册的一套快速开发整合包

    Spring 最初利用“工厂模式”( DI )和“代理模式”( AOP )解耦应用组件。大家觉得挺好用,于是按照这种模式搞了一个 MVC 框架(一些用 Spring 解耦的组件),用开发 web 应用( SpringMVC )。然后有发现每次开发都要搞很多依赖,写很多样板代码很麻烦,于是搞了一些懒人整合包( starter ),这套就是 Spring Boot 。

    数十年来, Spring 的努力就是为了减少复杂度,解耦,少些一些代码。我的感觉是,复杂度不会凭空产生,也不会凭空消失,只会从一个地方转移到另一个地方。虽然掌握 Spring 可以减少很多多余的工作,但是掌握 Spring 本身也变成很复杂的一件事。 Spring 的 XML ,注解配置, EL 表达式这种 DSL ,把很多很简单的事情搞复杂了,当 Spring Boot 自动配置失灵时就带来了更多的麻烦。

    我感觉 Node.js 挺好用, po 为什么不试试呢?😄
    h2so4
        10
    h2so4  
    OP
       2016-11-01 20:32:52 +08:00
    @Cbdy 哎呀....虽然大家说 java 各种臃肿,不过还是比较喜欢 C/C++/Java 一类的静态语言咦,何况贪多嚼不烂嘛
    kingcos
        11
    kingcos  
       2016-11-02 08:21:24 +08:00 via iPhone
    多谢 at ,又学到不少😂
    tony1016
        12
    tony1016  
       2016-11-02 09:27:26 +08:00
    ______________________________
    | _____________ |
    Spring Boot---> | Spring MVC |Spring Core | |
    | |____________| |
    |_____________________________|


    @h2so4
    tony1016
        13
    tony1016  
       2016-11-02 09:28:46 +08:00
    @h2so4 怎么换行变了,真是的,请自行脑补把制表符往右移动一下,哈哈
    h2so4
        14
    h2so4  
    OP
       2016-11-02 12:17:45 +08:00
    @kingcos 😂
    h2so4
        15
    h2so4  
    OP
       2016-11-02 12:18:10 +08:00
    @tony1016 嗯....脑补...
    jack80342
        16
    jack80342  
       2017-09-21 23:12:05 +08:00
    最近翻译了 Spring Boot 2.0 版本,https://www.gitbook.com/book/jack80342/spring-boot/details
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1327 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 26ms · UTC 23:35 · PVG 07:35 · LAX 15:35 · JFK 18:35
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.