springboot
文章平均质量分 88
EthanBai99
这个作者很懒,什么都没留下…
展开
-
SpringBoot日志解析(十四)
从日志框架角度来看日志分为日志实现框架和日志门面框架。实现框架主要有log4j、log4j2、JUL和Logback;日志门面框架主要JCL和slf4j。SpringBoot默认使用的式slfj+logback。 首先在门面框架中定义一个接口LoggerFactoryBinder,所有的实现框架必须实现这个接口,而且实现类必须具有相同的类名和包路径org/slf4j/impl/StaticLoggerBinder。这样日志门面框架就可以根据该路径去寻找日志实现框架。 Spring原创 2022-07-05 09:45:09 · 181 阅读 · 0 评论 -
SpringBoot Webflux解析
1. Webflux介绍 Webflux是一种异步非阻塞的IO模型,当有请求过来时,它会将请求交由worker线程去处理,这样就可以极大的提升吞吐量,所以他比较适合用于IO密集型的场景。 webflux虽然可以给我带来吞吐量的提升,但是同时也带了一些问题,如调试困难,有一定的学习成本,此外目前仅有少数数据库支持异步非阻塞查询,如redis支持,而mysql不支持。它使用netty作为服务端框架,网络通信性能很高,但是我们在准备引入该技术的时候也需要十分谨慎。在SpringBoot原创 2022-07-03 16:42:07 · 5249 阅读 · 0 评论 -
SpringBoot Starter解析
Conditional注释是一种基于条件的注解,也就是根据某一个特定条件来决定是否创建某个特定的Bean,这是SpringBoot实现自动装配的基础原理。常见的Conditional注解主要有:在@Conditional注解里面有一个方法value,它要求value是一个Condition类型。Condition是一个接口,它里面只定义一个方法matches,如果该方法返回true就创建bean,false就不创建bean。因此我们自己也可以自定义自己的Conditional,具体步骤如下:Starter是原创 2022-06-29 14:59:24 · 213 阅读 · 0 评论 -
Servlet容器启动解析
1. Servlet Web环境介绍目前web环境主要有Servlet和Rective,而大部分web应用使用的还是Servlet容器,web服务器又主要以Tomcat为主。所以接下来我会以Servlet容器作为解析重点。2. 容器启动主要流程从下图我们可以看出Servlet的启动流程从SpringApplication的初始化到运行run方法,再到AbstractApplicationContext的refresh方法。详细流程参考下图:3. Web容器工厂类加载解析我们知道在createWebServe原创 2022-06-28 10:46:06 · 628 阅读 · 0 评论