阅读 24

31、额外加餐:能画一张图说说Spring Boot的核心架构吗?

spring的时候,带一下spring boot,有时候出去面试,也会问到spring boot,提的一个点,spring boot启动的时候一个流程图,本身他是spring这个项目发展到一定阶段之后的一个产物

spring框架,mybatis,spring mvc,去做一些开发,打包部署到线上的tomcat里去,tomcat启动了,他就会接收http请求,转发给spring mvc框架,调用controller -› service -› dao -› mybatis(sql语句)

java web开发的时候,在这里整合进来redis、elasticsearch、还有很多其他的一些东西,rabbitmq、zookeeper,等等,诸如此类的一些东西

国外的spring开源社区,就发起了一个项目,spring boot,我们基于spring boot直接进行开发,里面还是使用spring + spring mvc + mybatis一些框架,我们可以一定程度上来简化我们之前的开发流程

做很多的配置,自己去定义一些bean,流程比较繁琐

spring boot内嵌一个tomcat去直接让我们一下子就可以把写好的java web系统给启动起来,直接运行一个main方法,spring boot就直接把tomcat服务器给跑起来,把我们的代码运行起来了

自动装配,比如说我们可以引入mybatis,我其实主要引入一个starter依赖,他会一定程度上个自动完成mybatis的一些配置和定义,不需要我们手工去做大量的配置了,一定程度上简化我们搭建一个工程的成本

引入一些mybatis的jar包,还有mybatis依赖的一些其他的jar包,然后动手编写一些xml配置文件,然后定义一些bean,写一些sql语句,写一些dao代码,此时就可以使用mybatis去执行sql语句了

只要引入一个starter,他会自动给你引入需要的一些jar包,做非常简单的、必须的一些配置,比如数据库的地址,几乎就不用你做太多的其他额外的配置了,他会自动帮你去进行一些配置,定义和生成对应的bean

生成的bean自动注入比如你的dao里去,让你免去一些手工配置+定义bean的一些工作

spring boot + spring + spirng mvc + mybatis + XXX之类的技术去进行开发,后续很多配置和定义的一些繁琐的重复性的工作就免去了,自动装配的一些功能,自动给你把一些事情干完了,不需要你去做了

spring boot这个框架,面试突击第三季,仅仅只是扫盲,源码流程不现实

spring boot关键的一些原理,和架构,画一张图,10来分钟的小视频,对spring boot的来龙去脉,有一个基本的了解和认识,基于spring boot开发的时候,他大致的一个工作流程是什么样子的

main,他自动启动一个内嵌的tomcat