SSM和SpringBoot的区别

本质区别:

1、SSM是三个臭皮匠,Spring IoC、Spring MVC、Mybatis的组合;

2、SpringBoot的诸葛亮,没有和任何MVC框架绑定。

我们接下来详细说说Spring Boot和SSM本质上的区别

SSM是什么?是三个臭皮匠(裨将),Spring loC、Spring MVC、Mybatis的组合。SSM限定死了你只能开发Java Web应用,而且MVC框架必须用Spring MVC,持久层必须用Mybatis,无他!我说的是SSM包含这些啊,没说你不能在这三个基础上自己加其他框架和库上去。

Spring Boot呢?诸葛亮。有了诸葛亮,你用兵的可选方案更多,不管用哪几员将军,出师更顺利。Spring Boot没有和任何MVC框架绑定!没有和任何持久层框架绑定!没有和任何其他业务领域的框架绑定!插播一条广告:需要开通正版IDEA的可以联系我,56元一年,正版授权激活,官网可查有效期,有需要的加我微信:poxiaozhiai6,备注:912。

你开发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项目下的任何子项目
JPAJDBC MongoDB Redis LDAP Cassandra Couchbase Noe4Hadoop 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服务器端9的常见第三方框架,Spring Boot都能用Convention over Confiquration的方式帮你默认配置好。

具体支持什么看这里:Spring Boot Reference Guide

posted @ 2022-09-12 12:34  工程师搁浅  阅读(1152)  评论(0编辑  收藏  举报