一、什么是SpringBoot?
-
SpringBoot是一个快速开发框架**,能够帮助我们快速整合第三方框架(底层原理是基于Maven依赖关系,Maven继承),完全采用注解化,简化xml配置,内置嵌入Http服务器(tomcat,Jetty),默认嵌入tomcat服务器。最终以java应用程序进行执行(命令java —jar)。
-
注:在完全采用注解化时,SpringBooot项目中没有web.xml,如何在tomcat中去运行?
Spring3.0之后采用注解方式启动SpringMVC,内置嵌入Http服务器,由Java创建tomcat。
二、为什么要使用SpringBoot?
- 传统项目:
如整合 SSM或SSH,会考虑配置文件,jar包冲突等问题,整合起来比较繁琐。传统web项目以war的方式打包后,直接放入到tomcat的webapps目录下,启动服务,该项目即可运行,该war包会自动解压出一个同名的文件夹。 - SpringBoot:
SpringBoot完全采用注解化,简化了xml配置,内置嵌入了http服务器(tomcat,jetty),默认嵌入tomcat服务器,最终以java应用程序进行执行,能够帮助我们快速整合第三方框架。 - java web项目的打包方式:
参考链接:https://blog.csdn.net/qq_28379809/article/details/77075076
三、SpringBoot与SpringCloud的关系及核心区别?
- SpringBoot:
是一个快速开发框架,能够帮助我们快速整合第三方框架,完全采用注解化、简化xml配置,最终以java应用程序执行。 - SpringCloud:
是一套目前完整微服务解决框架,功能非常强大。包括:注册中心、客户端调用工具、服务治理(负载均衡、断路器、分布式配置中心、网关、服务链路、消息总线等); - 关系:
1、 SpringBoot Web组件默认集成的是SpringMVC,SpringCloud依赖于SpringBoot实现微服务,使用 SpringMVC编写微服务接口。
2、 SpringBoot 是实现快速开发。
3、 SpringBoot + SpringCloud 是微服务开发。 - 核心区别:
1、SpringCloud 是微服务框架,微服务通讯技术是采用 http + json(restful),走的轻量级传输风格。一旦项目是微服务开发,就会使用RPC远程通讯技术、服务治理。
2、SpringBoot 单纯的只是集成第三方框架,实现快速开发。
四、SpringBoot与SpringMVC的关系?
- SpringBooot Web组件集成SpringMVC框架,但是SpringBoot启动SpringMVC的时候没有传统配置文件,那SpringBoot是如何启动SpringMVC的呢,在SpringMVC3.0以后产生注解,支持注解方式启动SpringMVC(使用java代码启动SpringMVC),SpringBoot是一个快速开发框架,帮助我们快速的整合第三方常用框架(原理是基于Maven集成方式)、完全采用注解化(使用注解方式启动SpringMVC),简化xml,内置http服务器(Tomcat、Jetty)、最终以Java应用程序执行。(CMD命令:java —jar)。