SSM是什么?是三个臭皮匠(裨将),Spring IoC、Spring MVC、Mybatis的组合。SSM限定死了你只能开发Java Web应用,而且MVC框架必须用Spring MVC,持久层必须用Mybatis,无他!我说的是SSM包含这些啊,没说你不能在这三个基础上自己加其他框架和库上去。
Spring Boot呢?诸葛亮。有了诸葛亮,你用兵的可选方案更多,不管用哪几员将军,出师更顺利。Spring Boot没有和任何MVC框架绑定!没有和任何持久层框架绑定!没有和任何其他业务领域的框架绑定!
你开发Web应用可以用Spring Boot。用spring-boot-starter-web就帮你配置好了Spring MVC。现在我不想用Spring MVC了,换成Spring WebFLux(用spring-boot-starter-webflux)写响应式Web应用可以吗?当然可以,而且这个是Spring 5主推的新Web框架。
你不开发Web应用,只实现纯粹的数据层业务,开发Spring Cloud Stream和Task也可以。
数据持久层,你可以用Spring Data项目下的任何子项目(JPA\JDBC\MongoDB\Redis\LDAP\Cassandra\Couchbase\Noe4J\Hadoop\Elasticsearch…),当然用非Spring官方支持的Mybatis也可以。只要用上对应技术或框架的spring-boot-starter-xxx就可以了。
但是必须要知道,Spring Boot提供的只是这些starters,这些Starter依赖了(maven dependence)对应的框架或技术,但不包含对应的技术或框架本身!
这就是很多人用“全家桶”这个词来比喻Spring Boot的错误之处。肯德基麦当劳的全家桶里面包含了鸡腿、鸡翅、鸡块,这些东西都是包含在里面的。你吃的完是这些,吃不完也是这些。但是Spring Boot不是啊,Spring Boot没有包含Spring MVC,没有包含Mybatis,只有他们对应的starters。
一个更恰当的比喻是,Spring MVC、Spring Data、Websocket这东西对应电脑硬件的显卡、声卡、硬盘、网卡。Spring Boot提供的Starters对应这些硬件的驱动。只要你在主板上插上了这些硬件,Spring Boot提供的对应驱动就能让能让你享受到即插即用(Plug & Play)的体验。Spring Boot提供的是驱动,没有包含显卡、声卡这些硬件本身,这些驱动能够让你DIY的电脑顺畅的引导(boot)并运行起来。
很多Java服务器端的常见第三方框架,Spring Boot都能用Convention over Configuration的方式帮你默认配置好。
再看看这个问题下其他答案
回答1:两个一样的,只不过是springboot省去了很多配置
怎么可能一样呢?如果一样,大部分公司都没必要迁移到Spring Boot。因为上面说了,只要做了几个项目,基本也就把SSM配置的差不多了。每个项目都Copy套用就可以了。
回答2:Spring Boot 就像一个脚手架一样 能让你快速的搭建项目 他不是替代SSM的 至于返回什么 完全看前端需求和文档规定吧
Spring Boot就像一个脚手架,但绝对不是一个脚手架。什么是脚手架?我们都见过,就是建筑工地盖楼房的时候外面那一层钢管搭建的架子,还有一层绿网,就是方便构建楼房。但是楼房竣工以后,脚手架是要被拆掉的,不会作为物业的一部分交给业主。软件开发中的脚手架也是类似的,帮助快速搭建项目,而脚手架不会作为最终交付成果的一部分。
你用了Spring Boot,那么Spring Boot以及其他starter的jar都会最终进入你打包编译的jar里,作为你成果的一部分。
回答3:springboot采用约定大于配置的方式,简化了大量的xml配置,真正做到了开箱即用。减少了web开发的难度
Spring Boot是采用约定大于配置(就是Convention over Configuration),简化了大量的XML配置。难道在Spring Boot出来以前Spring Framework或者其他Spring体系下的框架就没有采用CoC吗?就没有提倡用Java Annotation来简化配置吗?CoC一直就是Spring所倡导的,只是Spring Boot更进一步发扬光大了!
真正做到开箱即用?没有吧,那还需要Spring Initializr干嘛?或者还需要手动配置POM干嘛?还是要做一定定制化的。如果论开箱即用(Out of Box),我答案里说的传统公司的流程才是开箱即用。新项目Copy老项目就算开箱了,直接上去改就算开始用了。
回答4:SSM:面相XML编程。SpringBoot:面相注解编程
Spring Boot出现以前,Spring Framework已经在推荐Java Annotation的配置方式了,在所有的文档里都会同时介绍注解和XML两种配置方式,并且优先介绍注解的方式。
回答5:ssm是自己买家具装修。spring boot是全屋定制
SSM不是自己买家具,而是住酒店,酒店房间里的东西就这些,没得换。你只能自己带一些小件日用品。SSM这家酒店你不喜欢,那就换SSH那家去。Spring Boot是全屋定制,这个形容不错。而且家具种类齐全,品种多样。你只要下单就可以,包送货、包安装调试。
回答6:没有区别,springboot 只是提供了一套默认配置,用于原型的快速开发。
怎么可能没区别,就不多说了。用于原型快速开发这句话存在严重片面理解。快速开发没问题,但绝对不是只限于开发原型。