`

有关 springboot 加载原理解析的一些心得

阅读更多

 

  当我们创建完 一个 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请求,所以我们都可以通过浏览

 

器访问的方式看到日志信息。

 

由于时间关系,这些东西可能写的不够详细,这里写出来只是发表一下个人的想法,如果有什么不对的地

 

方可以希望大家能指出来,一起学习进步!

 

 

 

  

 

   

  

 

   

 

  • 大小: 126 KB
  • 大小: 87.8 KB
  • 大小: 63.3 KB
  • 大小: 89.2 KB
  • 大小: 70.3 KB
  • 大小: 58.2 KB
  • 大小: 203.1 KB
  • 大小: 5.3 KB
  • 大小: 25.5 KB
0
0
分享到:
评论

相关推荐

    springboot多串口解析

    本项目聚焦于"springboot多串口解析",这涉及到Java如何通过串行通信接口与硬件设备交互,获取并解析数据。 串口(Serial Port)是计算机硬件的一种接口,用于实现计算机与其他设备之间的通信。在现代编程中,尤其...

    springBoot原理&流程

    SpringBoot原理与流程详解 SpringBoot作为现代Java应用开发的首选框架,因其简化配置、快速启动和集成众多功能的优势,已经成为了业界的标准。本篇文章将深入探讨SpringBoot的核心原理和启动流程,帮助开发者理解其...

    springboot+java类热加载

    本文将深入探讨"springboot+java类热加载"这一主题,包括其核心概念、实现方式以及相关技术。 **热加载(Hot Loading)**是开发过程中的一个重要功能,它允许开发者在不重启应用的情况下更新代码,提高开发效率。在...

    SpringBoot拦截器原理解析及使用方法

    以上就是对SpringBoot拦截器原理解析及使用方法的详细介绍。拦截器的使用为开发人员提供了灵活的请求处理方式,可以方便地在请求到达控制器之前和之后加入自定义的逻辑。掌握拦截器的使用,对于开发安全、高效、易于...

    SpringBoot加载外部依赖过程解析

    SpringBoot加载外部依赖过程解析 SpringBoot加载外部依赖过程解析是指在SpringBoot应用程序中加载外部依赖项的过程。该过程涉及到配置文件的读取、依赖项的加载和注册等方面。下面我们将对SpringBoot加载外部依赖...

    springboot之启动原理解析Java系列2021.pdf

    本文将详细介绍SpringBoot的启动原理,解析SpringBoot的启动过程,并讨论相关的知识点。 SpringBoot的产生原因 在 pasado 的项目中,整合多个框架和库非常繁琐和复杂,存在架包冲突的问题。为了解决这些问题,...

    【大厂面试题】springboot之启动原理解析及其答案

    【大厂面试题】springboot之启动原理解析及其答案 产生原因 以往的项目整合起来是比较繁琐复杂的,而且存在架包冲突的问题,这时候SpringBoot应运而生了。 SpringBootApplication背后的秘密 我们开发任何一个Spring...

    springboot原理解析

    #### 一、Spring Boot 运行过程及核心注解解析 **Spring Boot** 是一个简化Spring应用开发的框架,它通过一系列的默认配置来简化开发过程,使得开发者可以专注于业务逻辑而无需关注繁琐的配置。本文将深入探讨...

    springboot源码解析视频

    本视频课程专注于SpringBoot的源码解析,旨在帮助开发者深入理解其内部工作原理,提升对SpringBoot的掌控力。 1. **SpringBoot核心概念** - 自动配置:SpringBoot通过`@EnableAutoConfiguration`注解自动配置应用...

    Springboot集成IP地址属地解析

    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} 就是需要解析...

    SpringBoot2视频源码解析

    例如,如果项目包含了Mybatis的相关依赖,SpringBoot就会自动配置数据源、Mybatis的SqlSessionFactory等,使得开发者无需手动编写大量的配置代码。 接下来,我们将关注SpringBoot的YAML配置。SpringBoot_YML_01可能...

    规则引擎Drools 之 springboot 集成、热加载

    前言: ...三、springboot集成drools  1.pom文件引入依赖 org.drools drools-core 7.0.0.Final org.drools drools-compiler 7.0.0.Final org.drools drools-decisiontabl

    SpringBoot自动配置解析

    分析springboot如何进行自动配置的,注解是如何工作,以及使用要点.

    一张图SpringBoot加载内嵌tomcat

    SpringBoot启动内嵌容器,启动时自动加载tomcat原理,tomcat内嵌集成实现

    springboot自定义参数解析器.zip

    场景:前端/Android/IOS,对于同一接口有时使用json格式提交,有时使用表单形式提交,项目使用的是前后端分离模式,需要自定义参数解析器。 Spring中对json形式和表单形式的参数解析器都有实现,因而不需要我们自己...

    04springboot实现原理.mp4

    springboot实现原理

    解密SpringBoot底层原理源码,从手写框架开始

    解密SpringBoot底层原理源码,从手写框架开始

    直接加载并调用DLL中函数

    这是一个从内存(资源形式)直接加载并调用DLL中函数的例子。 xDll工程只是一个测试用的dll,附上代码,编译出的xDll.dll直接放在testLoadDll工程目录下 testLoadDll是实际测试代码,从资源直接加载Dll并调用其导出...

    第三节-springboot源码解析-王炸篇.pdf

    Spring Boot源码解析是深入了解Spring Boot内部工作原理和机制的重要途径。通过源码分析,开发者可以更好地理解Spring Boot的自动装配、启动流程以及如何自定义启动器。Spring Boot的自动装配原理涉及到Spring Boot...

    Springboot 自动装配原理图文

    Springboot 自动装配原理图文,里面描述了整个Springboot的装配流程和所有相关的组件。

Global site tag (gtag.js) - Google Analytics