SpringBoot理解 「爱情、让人受尽委屈。」 2022-05-12 06:04 116阅读 0赞 # **为什么要用Springboot?** # 经过前面SSM框架整合以及员工管理系统的学习,对web开发框架有了简单的认识,现在又蹦出来个Springboot?使用SSM框架挺好的,为什么要使用springboot呢?这是个很头疼的问题,为此使用Springboot之后,我将SSM和Springboot框架做个简单的对比?来体现出来他们之间的差别,尝试了解为什么使用SpringBoot。 **传统项目和Springboot的区别** **传统的项目:**整合SSM时需要考虑各种配置文件,jar包冲突问题,整合起来非常繁琐,开发完毕的项目以war包的形式放入tomcateweb容器也就是tomcate的webapps目录中,然后tomcate启动执行。 在SSM框架的学习过程中,基本上很大一部分时间都是在学习怎么整合SpringMVC,怎么整合mybatis等,怎么整合redis,怎么整合message等,整合过程异常繁琐,各种jar包之间由于冲突问题报各种莫名奇妙的错误。而在使用各个框架的时候其难度并不大,很大的一部分时间花在了固定模式的整合上,当时为了整合SSM花了将近3天的时间,参考了网上很多的例子(网上的例子鱼龙混杂,很难有比较完美的例子能够将其每一步怎么弄说清楚,为此我专门使用了最新的spring版本,最新的springMVC版本以及最新的mybaitis版本将其整合过程做了详细的讲解,希望以后对SSM的环境搭建不在浪费大量的时间)才得以保证SSM完美的整合整合过程可以参见SSM入门实践-员工管理系统实现。实际的开发过程中使用各个框架中基本上没有什么难度,但是又必须得整合(各个框架确实很好用,能将繁琐的不必要的代码通过配置的方式得以实现,整个项目的代码结构很清晰)。 **Springboot项目:** 什么是Springboot? 我这边专门查阅了官方的文档定义和目标: <table> <tbody> <tr> <td style="vertical-align:top;width:414.8pt;"> <p style="margin-left:0cm;"><span style="color:#333333;">Spring Boot makes it easy to create stand-alone, production-grade Spring-based Applications that you can run. We take an opinionated view of the Spring platform and third-party libraries, so that you can get started with minimum fuss. Most Spring Boot applications need very little Spring configuration.</span></p> <p style="margin-left:0cm;"><span style="color:#333333;">You can use Spring Boot to create Java applications that can be started by using </span><code><span style="color:#6d180b;">java -jar</span></code><span style="color:#333333;"> or more traditional war deployments. We also provide a command line tool that runs “spring scripts”.</span></p> <p style="margin-left:0cm;"><span style="color:#333333;">Our primary goals are:</span></p> <ul> <li><span style="color:#333333;">Provide a radically faster and widely accessible getting-started experience for all Spring development.</span></li> <li><span style="color:#333333;">Be opinionated out of the box but get out of the way quickly as requirements start to diverge from the defaults.</span></li> <li><span style="color:#333333;">Provide a range of non-functional features that are common to large classes of projects (such as embedded servers, security, metrics, health checks, and externalized configuration).</span></li> <li><span style="color:#333333;">Absolutely no code generation and no requirement for XML configuration.</span></li> </ul></td> </tr> </tbody> </table> Springboot是一个快速开发框架,能够帮助我们快速的整合各种第三方框架(通过maven依赖的方式将比较繁琐的固定包依赖关系通过maven继承的方式全部依赖起来),完全采用注解化,在使用Springboot的过程中基本上没有使用过XML,以简化XML的配置,其内置HTTP服务器(tomcate,jetty),默认嵌入的是tomcate服务器,最终以Java应用程序进行执行,当然也可以部署为传统的war包。 SpringBoot框架包含内容: ![70][] 关于Springboot的微服务?网上大家都说的的很多,说Springboot是一个微服务架构?关于什么是微服务这个我目前还没有很好的理解,这个貌似Springboot和微服务没有多大关系,Springboot和微服务有关系,但应该不是微服务框架,真正的微服务在Springcloud中体现。 微服务通信技术是HTTP+Json(restful)格式的轻量级的传输,而Springboot的web组件默认集成了SpringMVC,既然SpringBoot默认集成的组件是SpringMVC。 关于Springboot的学习本身框架,因为其本身比较简单,因为其本身就是一个快速集成框架。其核心就是能够快速的帮我们快速的整合第三方框架。 **SpringBoot的核心原理** 1:将第三方jar包通过maven继承的方式将常用的依赖关系帮助我们封装好了,只要引入一个依赖就可以了。 2:在Springboot中是没有web.xml的,那么怎么给tomcate运行的呢? 通过前面的学习即SSM入门实践,我们了解到tomcate启动时会加载web.xml以加载spring和启动springmvc。 但是SpringBoot启动SpringMVC的时候是没有传统的配置文件的(Springmvc-config.xml),以及web.xml,是如何启动的呢? SpringBoot完全采用注解化,并且在Spring3.0之后可以采用注解方式启动SpringMVC(也就是使用注解启动SpringMVC),Springboot中内置嵌入Http服务器,可以使用Java来创建tomcate,然后使用tomcate的类加载器加载target目录中的classes,一旦遇到@EnableWebMVC这样的注解时将会去启动SpringMVC。整个过程也就是使用Java代码来启动SpringMVC。 # **SpringBoot和SpringCloud的关系(区别)?** # 前面有提到Springcloud?又是一个新名字。 那么为什么要用SpringBoot而不使用SpringCloud呢? 这里对这两个的关系捋一捋。 **SpringBoot:**上文已经提到过,springboot其实是一个快速开发框架,能够帮助我们快速整合第三方常用框架(也就是说Springboot不是说将任何的框架都给整合起来了,比如说Springmvc,mybatis,redis,rabbitMQ等,在github上能够排的上名的矿建基本上都被整合进去了,但不代表你写的框架SpringBoot就会整合的,只有当达到一定量的时候Springboot才会考虑整合),完全采用注解化来简化XML配置,最终是以java应用程序进行执行。 **SpringCloud:**是一套目前完整的微服务框架,微服务里面遇到的各种问题,SpringCloud都可以帮你解决,功能非常强大,例如注册中心、客户端调用工具、服务治理(负载均衡、断路器、分布式配置中心、网关、服务链路),里面东西非常多,后续再了解。 ![70 1][] 上文说过微服务通信技术是HTTP+Json(restful)格式的轻量级的传输,而Springboot的web组件默认集成了SpringMVC,既然SpringBoot默认集成的组件是SpringMVC,SpringCloud依赖于SpringBoot实现微服务,使用SpringMVC编写微服务接口。因此Springboot不是微服务框架,可以这么理解SpringBoot+SpringCloud是微服务。 使用Springboot的目的只是实现快速开发。 **总结:** 如果项目中只是单纯的集成SpringBoot其目的是实现快速开发,快速整合各种框架用 微服务开发:会涉及RPC远程通讯技术、服务治理等 # **SpringBoot与SpringMVC的关系** # SpringBoot中的web组件集成了SpringMVC框架,使用Java来启动SpringMVC。 # 附录简单SpringBoot学习示例 # 主要讲解Http部分内容以及文件上传下载内容,下载地址 [https://download.csdn.net/download/caoshangfeidie000/10670762][https_download.csdn.net_download_caoshangfeidie000_10670762] [70]: /images/20220512/76a7e83c5ab94f02865fb149a88606c5.png [70 1]: /images/20220512/20a88c57b6ef4c6aa0f93c17b44d97f2.png [https_download.csdn.net_download_caoshangfeidie000_10670762]: https://download.csdn.net/download/caoshangfeidie000/10670762
相关 【springboot】原理解析 4、SpringBoot原理 Spring原理【[Spring注解][Spring]】、SpringMVC原理、自动配置原理、SpringBoot原理 1、Sprin 曾经终败给现在/ 2024年03月25日 19:19/ 0 赞/ 88 阅读
相关 springboot的理解 > 1.springboot是spring的一个升级,对开发者来说,熟悉springboot有助于快速开发javaweb项目. > > 2.springboot一个重要的概念 ╰+哭是因爲堅強的太久メ/ 2024年02月18日 19:32/ 0 赞/ 33 阅读
相关 SpringBoot原理解析 目录 一、Profile功能 (一)、application-profile功能 (二)、@Profile条件装配功能 (三)、profile分组 二、外部化配置 小鱼儿/ 2023年10月11日 20:31/ 0 赞/ 48 阅读
相关 SpringBoot:SpringBoot 的底层运行原理解析 声明原文出处:狂神说 文章目录 1. pom.xml 1 . 父依赖 旧城等待,/ 2023年09月24日 23:35/ 0 赞/ 55 阅读
相关 springboot路径的理解 1.第一部分路径 ![在这里插入图片描述][watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG 短命女/ 2023年06月21日 13:29/ 0 赞/ 39 阅读
相关 SpringBoot理解 为什么要用Springboot? 经过前面SSM框架整合以及员工管理系统的学习,对web开发框架有了简单的认识,现在又蹦出来个Springboot?使用SSM框架挺好的, 「爱情、让人受尽委屈。」/ 2022年05月12日 06:04/ 0 赞/ 117 阅读
相关 springboot原理的理解 基础服务层用springclound的思想是要用controller作为入口,用dubbo的思想一般是server直接被调用 这种都可以实现分布式 单纯的sp Love The Way You Lie/ 2022年04月06日 14:08/ 0 赞/ 170 阅读
相关 深入理解SpringBoot配置 一、application.properties的位置 1.当前目录的 “/config”的子目录下 2.当前目录下 3.classpath根目录的“/confi 约定不等于承诺〃/ 2022年03月28日 12:30/ 0 赞/ 177 阅读
相关 SpringBoot约定大于配置理解 约定大于配置是一种开发原则,就是减少人为的配置,直接用默认的配置就能获得我们想要的结果。 SpringBoot的约定大于配置,按我的理解是:对比SpringMVC,需要 Myth丶恋晨/ 2021年11月10日 01:20/ 0 赞/ 334 阅读
还没有评论,来说两句吧...