Spring
文章平均质量分 92
旺仔丷
此人很懒,什么都不想写
展开
-
Spring Boot 基于源码的启动流程详解
SpringBoot在日常工作中带来了很多便利,通过application.properties即可替换默认属性值通过@SpringBootApplication和SpringApplication.run()即可完成Spring容器的启动,并自动为我们创建自动配置的bean,如下图,本文主要关注springboot启动时,自动创建过滤自动配置类、业务bean、加载资源文件的整体流程。SpringBootApplication注解@Target(ElementType.TYPE)@Ret.原创 2021-12-12 16:35:08 · 605 阅读 · 0 评论 -
基于SpringMVC、Tomcat源码的请求链路图示解析
Spring启动时SpringMVC的组件初始化发起请求的执行链路:下图是在未配置DispatchServlet的load-on-startup属性时,调用情况,若配置load-on-startup大于、等于0,那么初始化servlet的流程会在tomcat启动或热部署时完成。关于tomcat加载load-on-startup大于0的servlet可见下面代码:tomcat源码的StandardContext类public boolean loadOnStartup(Cont.原创 2021-11-06 20:25:36 · 474 阅读 · 0 评论 -
对Spring IOC、AOP的认识及项目中应用场景
BeanFactory、applicationContext的容器区别先从BeanFactory和applicationContext的源码,来大致看下这两个类BeanFactory定义的是一个接口,具体的实现交给子类完成(DefaultListableBeanFactory成熟bean工厂等),定义了些对bean最基本的操作, 主要是获取bean、判断IOC容器中是否存在该bean、判断bean是单例还是多例模式、bean的class类型匹配等,所以通常认为beanFactory是IOC的低级原创 2021-10-17 15:57:34 · 4346 阅读 · 0 评论 -
【源码解析】Spring如何处理循环依赖?
在进入正题之前,抛出一个问题给大家思考下,这个是当时面试家有学霸时,二面提出的一个问题:当出现循环依赖时(A依赖B,B依赖A),此时A中的B对象有没有A,B中的A对象有没有B,大家可以想下,后面解答。什么是循环依赖?有两个或两个以上的引用相互指向,即A->B,B->A,更具体的说就是:@Componentpublic class A { @Autowired private B b;}@Componentpublic class B { @Au原创 2021-09-21 16:39:41 · 378 阅读 · 0 评论