当我们创建完 一个 springboot 工程后然后加入 spring-boot-starter-web 依赖,启动打开控制台,如下
结论:
(1) springboot 封装了 springmvc,因为springboot是基于servlet , 而且 前端控制器也是 dispatcherServlet (如图可以看出)
(2) springboot 里面也有很多过滤器,如:
metricsFilter:度量过滤器(主要记录请求时长等一些记录信息)
从源码我们可以看出我们的所有方法都经过了 这个过滤器,因为最终它会把我们请求的 时间,请求响应的状态,路径,以及请求的信息放入度量 的日志里面
characterEncodingFilter:字符编码过滤器(主要检查有没有设置字符编码的问题,从图下的源码我们
可以看出)
)
hiddenHttpMethodFilter: (隐藏的方法过滤器)
查看源码:
这个过滤器 主要是对post 方法做了特殊处理(方法的大小写转换等等)
httpPutFormContentFilter (http 协议 put ,post 表单提交方法过滤器)
从源码我们可以证明 该过滤器会对put 方法 或 patch 方法的表单提交方法 进行过滤, 在请求参数不为空
的情况下,把请求转换进行包装
requestContextFilter (请求上下文过滤器)
该过滤器主要是对request 和 response 的做了一次封装表明这是一次请求(请求一进来 就通过 把request
和response 就进行了封装 ,然后初始化 上下文的Request容器,对请求完成之后,又初始化上下
文的Request容器,这样就保证这是一次请求)
webRequestLoggingFilter (web 的请求日志过滤器)
该过滤器主要是对日志进行过滤控制
applicationContextIdFilter(该项目引用加载过滤器)
该过滤器主要是对启动项目的时候对项目上下文加载做了一些过滤
对于后续的加载
其中
/health :表示对硬盘做了一个健康检查
注意点:
(1) 这里需要修改pom.xml 文件,添加依赖
<!--添加监控依赖--> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-actuator</artifactId> </dependency>
访问 http://localhost:8080/health
最终显示
status:up 表示 健康
diskspace :表示 表示的硬盘的信息
total:表示总硬盘大小
free:表示空闲的大小
threshold:表示最少的硬盘容量
其他 的 /loggers 表示的日志的信息,由于返回的都是json 格式,get请求,所以我们都可以通过浏览
器访问的方式看到日志信息。
由于时间关系,这些东西可能写的不够详细,这里写出来只是发表一下个人的想法,如果有什么不对的地
方可以希望大家能指出来,一起学习进步!
相关推荐
主要介绍了SpringBoot拦截器原理解析及使用方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
SpringBoot实现Excel文件解析
springboot 、java类热加载、jarinjar、动态编译、自动引用依赖
随着公司对简化开发的追求,springBoot已经成为一种趋势,它大大简化了我们的开发流程,做到了零XML配置,也是学习springCloud的必经之路。掌握springBoot在一线城市至少12k,二三线城市9k应该是没问题
java解析硬件接口数据信息
【大厂面试题】springboot之启动原理解析及其答案 产生原因 以往的项目整合起来是比较繁琐复杂的,而且存在架包冲突的问题,这时候SpringBoot应运而生了。 SpringBootApplication背后的秘密 我们开发任何一个Spring...
springboot原理,其中包括运行过程,主要注解解释,简单易懂
springboot之启动原理解析Java系列2021.pdf
最新版的springboot源码解析视频,地址亲测有效,失效了请联系我。 某某学院springboot源码解析视频。
主要介绍了SpringBoot加载外部依赖过程解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
springboot集成drools实现重新加载规则
Springboot工程根据URL输入获取IP归属地,直接运行:java -jar dust-ip2region-1.0.0-SNAPSHOT.jar 端口:9090 启动后,样例:http://127.0.0.1:9090/index/convert/182.151.251.3 其中{182.151.251.3} 就是需要解析...
分析springboot如何进行自动配置的,注解是如何工作,以及使用要点.
SpringBoot启动内嵌容器,启动时自动加载tomcat原理,tomcat内嵌集成实现
场景:前端/Android/IOS,对于同一接口有时使用json格式提交,有时使用表单形式提交,项目使用的是前后端分离模式,需要自定义参数解析器。 Spring中对json形式和表单形式的参数解析器都有实现,因而不需要我们自己...
springboot实现原理
SpringBoot2视频源码解析,对SpringBoot的基础开始,作为深入SpringCloud的基础,是不错的选择哦!!!
解密SpringBoot底层原理源码,从手写框架开始
这是一个从内存(资源形式)直接加载并调用DLL中函数的例子。 xDll工程只是一个测试用的dll,附上代码,编译出的xDll.dll直接放在testLoadDll工程目录下 testLoadDll是实际测试代码,从资源直接加载Dll并调用其导出...
【大厂面试题】SpringBoot之启动原理非常详细解析及其答案 知识点标签:springboot 产生原因 以往的项目整合起来是比较繁琐复杂的,而且存在架包冲突的问题,这时候SpringBoot应运而生了。 SpringBootApplication...