文章目录
一、为什么要学习SpringBoot
前面学习了Spring,知道Spring的核心功能是存、取对象。从spring开始,对象的生命周期的控制权不再由开发人员控制,而是由Spring控制。Spring创建对象并存储对象,开发人员只需要从Spring中获取对象即可。在18年以后,SpringBoot火爆起来后,SpringBoot成为了主流的开发框架。在这里提一下SpringCloud,SpringCloud是一套组件,是一套解决方案,是一套微服务的思想。什么是微服务?微服务就是将原来的一个项目分为几个模块,把这些模块彼此独立出来。
微服务的好处
1、如果这台机器挂了,不会出现整个项目都挂了的情况,因为不同的模块可能部署在不同的服务器上。
2、使用微服务,可以达到模块化,所以一般公司招聘的时候比较好招到人,因为模块彼此独立,一个模块由一个组做,利于代码独立。
3、同一台机器或者多台程序,部署多份程序。
Spring的诞生是为了简化java程序开发,SpringBoot的诞生是为了简化Spring程序的开发,SpringBoot本质上还是Spring框架,但SpringBoot让开发变得更方便。举个例子加深理解:Spring和SpringBoot的关系就像老式汽车和智能汽车。汽车的诞生是为了解决出行的效率低下问题,而智能汽车的诞生是为了解决人类对生活质量的高要求,但是不管是哪种汽车,都是为了让人们更方便的去使用汽车。对于Spring和SpringBoot,同样适用,都是为了程序员更方便地去开发java程序。
1.1、Spring框架的开发痛点
1.1.1、需考虑依赖与当前Spring框架的版本适配问题
比如之前创建Spring项目时,想要在项目中添加一些依赖(比如Lombok依赖,spring-context依赖,spring-beans依赖…),需要从中央仓库找到依赖,将其代码复制下来之后粘贴到pom.xml中,并且依赖是有很多版本的,你需要凭借自己所具有的经验选择与当前Spring版本所对应的依赖版本。
1.1.2、需要考虑Web容器
当创建了一个Spring项目,因为某种需求需要将此项目升级成SpringMVC项目,目前Spring项目所配置的依赖不足以让SpringMVC运行起来,还需依赖Web容器Tomcat。此时就需要在IDEA中安装插件smart Tomcat(社区版IDEA需要安装,专业版IDEA系统已经自动帮忙配置Tomcat Server),本地配置Tomcat,比较麻烦。
1.2、SpringBoot优点
1.2.1、 可以快速添加依赖
不需要再到中央仓库复制粘贴依赖了,在SpringBoot中只需要勾选条件即可,也不需要根据自己的经验判断版本兼容问题,这些都由SpringBoot帮我们管理起来了。
1.2. 2、快速添加新框架
项目开发阶段,想新添加一个框架(SpringMVC、mybatis…)咋办?安装插件去快速集成框架即可。
1.2.3、内置Web容器
内置了Web容器。在Spring项目之前,如果我们想要在浏览器运行一个项目,我们需要像Servlet时代一样,在IDEA中安装插件smart Tomcat,本地下载安装Tomcat,因为这些Spring core(java 程序项目)没有具备http能力。
2、SpringBoot核心
1、可以快速添加依赖。
2、内置Web容器。
3、自动装配机制。
2.1 常见面试题:谈谈SpringBoot中的自动装配机制
所谓的自动装配指的是:关于数据库的操作。
在Spring和SpringMVC时代,我们想要使用数据库的一个对象时,需要进行三步操作:1、需要在pom.xml中添加mysql的依赖。2、配置一个Spring的DataSource的xml。3、写代码。上述操作叫做手动装配。而自动装配把这些链接信息还写在配置文件里,但SpringBoot会根据链接信息,在Spring项目启动时,自动帮你构建DataSource对象。
总的来说,自动装配其实就是SpringBoot帮咱们自动构建了一个复杂对象,构建好的对象可以直接使用。
在servlet时代,这些复杂对象是需要自己去构建的。