欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

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

程序员文章站 2022-07-14 11:55:36
...

 

  当我们创建完 一个 springboot 工程后然后加入 spring-boot-starter-web  依赖,启动打开控制台,如下

 

有关 springboot 加载原理解析的一些心得
            
    
    博客分类: SpringBoot springbootfilter 

  结论:

 

   (1) springboot 封装了 springmvc,因为springboot是基于servlet , 而且 前端控制器也是  dispatcherServlet (如图可以看出)

 

   (2) springboot 里面也有很多过滤器,如:

   

            metricsFilter:度量过滤器(主要记录请求时长等一些记录信息)

       

           
有关 springboot 加载原理解析的一些心得
            
    
    博客分类: SpringBoot springbootfilter 
 

         从源码我们可以看出我们的所有方法都经过了 这个过滤器,因为最终它会把我们请求的 时间,请求响应的状态,路径,以及请求的信息放入度量 的日志里面

   

 

           characterEncodingFilter:字符编码过滤器(主要检查有没有设置字符编码的问题,从图下的源码我们

 

可以看出)


有关 springboot 加载原理解析的一些心得
            
    
    博客分类: SpringBoot springbootfilter 
 )

 

           hiddenHttpMethodFilter:  (隐藏的方法过滤器) 

 

 查看源码:

 

 
有关 springboot 加载原理解析的一些心得
            
    
    博客分类: SpringBoot springbootfilter 
 

 

   这个过滤器 主要是对post 方法做了特殊处理(方法的大小写转换等等)

 

 

 httpPutFormContentFilter (http  协议 put ,post 表单提交方法过滤器)

 

  
有关 springboot 加载原理解析的一些心得
            
    
    博客分类: SpringBoot springbootfilter 
 

    从源码我们可以证明 该过滤器会对put  方法 或 patch 方法的表单提交方法 进行过滤, 在请求参数不为空

 

 的情况下,把请求转换进行包装

 

 

  requestContextFilter (请求上下文过滤器)

 

  
有关 springboot 加载原理解析的一些心得
            
    
    博客分类: SpringBoot springbootfilter 
 

    该过滤器主要是对request  和 response 的做了一次封装表明这是一次请求(请求一进来 就通过 把request

 

 和response 就进行了封装 ,然后初始化 上下文的Request容器,对请求完成之后,又初始化上下

 

文的Request容器,这样就保证这是一次请求

 

   webRequestLoggingFilter (web  的请求日志过滤器)

 

   该过滤器主要是对日志进行过滤控制

 

 

  applicationContextIdFilter(该项目引用加载过滤器)

 

  该过滤器主要是对启动项目的时候对项目上下文加载做了一些过滤

 

 

 对于后续的加载
有关 springboot 加载原理解析的一些心得
            
    
    博客分类: SpringBoot springbootfilter 
 

  其中 

 

   /health :表示对硬盘做了一个健康检查

 

        注意点:

              (1) 这里需要修改pom.xml 文件,添加依赖

  

         

		<!--添加监控依赖-->
		<dependency>
			<groupId>org.springframework.boot</groupId>
			<artifactId>spring-boot-starter-actuator</artifactId>
		</dependency>

 

 

        
有关 springboot 加载原理解析的一些心得
            
    
    博客分类: SpringBoot springbootfilter 
 

 

           访问  http://localhost:8080/health

  

          最终显示

                      

          
有关 springboot 加载原理解析的一些心得
            
    
    博客分类: SpringBoot springbootfilter 
            

                status:up 表示 健康 

 

 

                diskspace :表示 表示的硬盘的信息

 

                 total:表示总硬盘大小

 

free:表示空闲的大小

 

                threshold:表示最少的硬盘容量

 

 

其他 的 /loggers 表示的日志的信息,由于返回的都是json 格式,get请求,所以我们都可以通过浏览

 

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

 

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

 

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

 

 

 

  

 

   

  

 

   

 

  • 有关 springboot 加载原理解析的一些心得
            
    
    博客分类: SpringBoot springbootfilter 
  • 大小: 126 KB
  • 有关 springboot 加载原理解析的一些心得
            
    
    博客分类: SpringBoot springbootfilter 
  • 大小: 87.8 KB
  • 有关 springboot 加载原理解析的一些心得
            
    
    博客分类: SpringBoot springbootfilter 
  • 大小: 63.3 KB
  • 有关 springboot 加载原理解析的一些心得
            
    
    博客分类: SpringBoot springbootfilter 
  • 大小: 89.2 KB
  • 有关 springboot 加载原理解析的一些心得
            
    
    博客分类: SpringBoot springbootfilter 
  • 大小: 70.3 KB
  • 有关 springboot 加载原理解析的一些心得
            
    
    博客分类: SpringBoot springbootfilter 
  • 大小: 58.2 KB
  • 有关 springboot 加载原理解析的一些心得
            
    
    博客分类: SpringBoot springbootfilter 
  • 大小: 203.1 KB
  • 有关 springboot 加载原理解析的一些心得
            
    
    博客分类: SpringBoot springbootfilter 
  • 大小: 5.3 KB
  • 有关 springboot 加载原理解析的一些心得
            
    
    博客分类: SpringBoot springbootfilter 
  • 大小: 25.5 KB
相关标签: springboot filter