spring源码
文章平均质量分 52
yangsen159
这个作者很懒,什么都没留下…
展开
-
SpringBoot启动流程 (3-3)
SpringBoot启动流程,核心分为两个步骤: 创建 SpringApplication对象 调用SpringApplication run 实现启动同时返回当前的容器上下文 分析流程: 创建 SpringApplication对象 Springboot容器初始化操作 获取当前应用启动类型 原理:判断当前classpath是否有加载我们的servlet类 返回servlet web启动方式 webApplicationType 分为三种类型: 响应式启动 (Spring5新特性) None不会原创 2021-07-12 11:01:31 · 187 阅读 · 0 评论 -
springboot 源码 (3-2)
加载配置 config @SpringBootApplication --> @EnableAutoConfiguration --> @Import(AutoConfigurationImportSelector.class) List configurations = getCandidateConfigurations(annotationMetadata, attributes); 获取spring-boot-configurations下面的META-INF/ spring.fac原创 2021-07-07 10:26:30 · 153 阅读 · 0 评论 -
springboot starter (3-1)
自定义starter maven 依赖 <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-autoconfigure</artifactId> </dependency> <!-- 能够给开发者引入该jar包后 有一定提示 --> <dependency> <groupI原创 2021-07-02 15:10:44 · 100 阅读 · 0 评论 -
springMVC源码适配器模式 (2-4)
适配器模式实现 Controller public interface Controller { void hanlder(); } public class HttpController implements Controller { public void hanlder() { System.out.println("HttpController"); } } public class AnnotationController implements Contr原创 2021-06-28 11:59:50 · 65 阅读 · 0 评论 -
springMVC源码分析 (2-3)
DispatcherServlet源码分析 SpringMVC核心的就是DispatcherServlet,所有的请求都会转发到DispatcherServlet,让后在通过DispatcherServlet执行具体的控制层(Handler) 返回modelAndView给客户端视图展示。 DispatcherServlet与Servlet关系 关系:DispatcherServlet继承FrameworkServlet继承HttpServlet 流程执行关系: HttpServlet service方法原创 2021-06-24 11:42:24 · 57 阅读 · 0 评论 -
springMVC基础 (2-2)
注解方式启动MVC @Configuration @ComponentScan(basePackages = {"com.mayikt.controller","com.mayikt.service"}) //@EnableWebMvc @EnableAsync public class SpringMvcConfig extends WebMvcConfigurationSupport { //@EnableWebMvc 等于开启SpringMVC注解方式 //@Configuration原创 2021-06-22 10:59:20 · 65 阅读 · 0 评论 -
springMVC基础 (2-1)
SpringMVC Servlet SpringMVC是基于Servlet封装的MVC框架 Servlet是单例的 在高并发情况下,可能会存在线程安全问题 ServletContainerInitializer 在web容器启动时为提供给第三方组件机会做一些初始化的工作,例如注册servlet或者filtes等,servlet规范中通过ServletContainerInitializer实现此功能。 每个框架要使用ServletContainerInitializer就必须在对应的jar包的META-原创 2021-06-22 10:33:52 · 60 阅读 · 0 评论 -
spring循环依赖 (1-6)
spring循环依赖 如何底层解决循环依赖原理 Map<String, Object> singletonObjects 一级缓存完成对象(对象和属性都已经赋值) Map<String, Object> earlySingletonObjects 二级缓存 不完整对象 对象已经创建但是属性缺没有赋值 早期对象 Map<String, ObjectFactory<?>> singletonFactories 三级缓存(只初始化,没有给属性赋值对象) 存放原创 2021-06-11 17:22:37 · 60 阅读 · 0 评论 -
spring事务实现原理 (1-5)
spring事务实现原理 Spring声明事务源码分析 开启@EnableTransactionManagement开启事务注解 @Import(TransactionManagementConfigurationSelector.class) 继续加载AutoProxyRegistrar、ProxyTransactionManagementConfiguration对象 (这两个对象会被spring 管理) 会将该类InfrastructureAdvisorAutoProxyCreator注册ioc容器原创 2021-06-10 10:59:01 · 97 阅读 · 0 评论 -
spring Aop通知调用链源码分析 (1-4)
Aop通知调用链源码分析 责任链模式 public interface GatewayHandler { /** * Boolean返回类型的作用是干嘛? 使用递归停止下一步 */ public Boolean service(); } public class BlacklistHandler implements GatewayHandler { public Boolean service() { System.out.println("&g原创 2021-06-10 10:30:05 · 128 阅读 · 0 评论 -
spring aop源码分析 (1-3)
SpringBean的生命周期 进入到刷新的方法refresh(); finishBeanFactoryInitialization()初始化所有单例 对象 preInstantiateSingletons(); 初始化所有的单例对象 注意:非懒加载 getBean() → doGetBean() 先查询该对象是否有初始化过,没有话 就创建注册到IOC容器中 createBean()创建对象 判断对象如果是为单例的情况下调用该方法 doCreateBean()创建IOC对象 createBeanInsta原创 2021-06-09 10:15:46 · 88 阅读 · 0 评论 -
spring 源码之bean 生命周期 (1-2)
spring bean 生命周期原创 2021-06-07 13:54:07 · 72 阅读 · 0 评论 -
spring 源码之核心注解 (1-1)
spring 源码_1原创 2021-06-07 13:42:01 · 104 阅读 · 0 评论