- Published on
Spring Boot 原理学习-02
1、寻找三方框架的AutoConfiguration配置
AutoConfigurationImportSelector.selectImports
,之前在调试源码的时候,我们其实是调试到了这个类的,然后呢,当时我们直接把这个类给忽略过去了,其实这个类里面是有很多的代码逻辑的,下一步有两个问题
这些三方框架的自动装配的AutoConfiguration,都是配置在哪里的;他们肯定会被扫描出来;下一步是哪些AutoConfiguration会被启用和执行,根据classpath,接着就是触发和执行各个三方框架的AutoConfiguration装配bean,放入spring容器就可以了
spring boot的核心意义-> 内嵌tomcat,spring容器,三方框架bean自动装配-> 系统启动,所有bean组装准备好,可以对外提供功能和服务。
2、spring mvc的隐式配置和自动装配
tomcat有一定基础的了解,tomcat是一个基础的web容器,web服务器,他主要的功能就是实现了一套底层的网络架构,可以去监听端口号,接收http协议的请求,对http请求进行处理和封装,接着将http请求转交给我们自己写的类
servlet、filter、listener,都可以,这些都属于java web里的范畴,都属于servlet api
tomcat正常应该是把请求转交给我们自己写的servlet,一般我们现在已经不会再自己去写servlet了,引入第三方的mvc框架,比如说spirng mvc,他就有自己的一个DispatcherServlet,你必须得把他配置在tomcat里面,web.xml
让tomcat知道所有的http请求都得转交给spirng mvc的DispathcerServlet来处理
上述是要研究的第一个问题
第二个问题,spring mvc的DispatherServlet拿到了请求之后,会把请求转交给我们自己按照spirng mvc的API和标准写的一套controller上去,我们自己写的controller都是会放在spring容器里的,因为都是bean
spring mvc是否有一个自动装配的过程,如果有自动装配的过程中都干了一些什么事情。
spring mvc是一个框架,框架可以支持很多的web请求处理的一些高级功能,请求url到controller处理器的路由的功能、请求参数的高阶处理机制、自动化的请求和响应bean的封装和处理机制、自动化的json数据结构的处理机制、文件上传下载的支持、html等静态资源 的响应机制、模板技术的整合机制