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 · 214 阅读 · 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 · 189 阅读 · 0 评论 -
springboot starter (3-1)
自定义startermaven 依赖<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-autoconfigure</artifactId></dependency><!-- 能够给开发者引入该jar包后 有一定提示 --><dependency> <groupI原创 2021-07-02 15:10:44 · 124 阅读 · 0 评论 -
springMVC源码适配器模式 (2-4)
适配器模式实现Controllerpublic 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 · 95 阅读 · 0 评论 -
springMVC源码分析 (2-3)
DispatcherServlet源码分析SpringMVC核心的就是DispatcherServlet,所有的请求都会转发到DispatcherServlet,让后在通过DispatcherServlet执行具体的控制层(Handler) 返回modelAndView给客户端视图展示。DispatcherServlet与Servlet关系关系:DispatcherServlet继承FrameworkServlet继承HttpServlet流程执行关系:HttpServlet service方法原创 2021-06-24 11:42:24 · 83 阅读 · 0 评论 -
springMVC基础 (2-2)
注解方式启动MVC@Configuration@ComponentScan(basePackages = {"com.mayikt.controller","com.mayikt.service"})//@EnableWebMvc@EnableAsyncpublic class SpringMvcConfig extends WebMvcConfigurationSupport { //@EnableWebMvc 等于开启SpringMVC注解方式 //@Configuration原创 2021-06-22 10:59:20 · 93 阅读 · 0 评论 -
springMVC基础 (2-1)
SpringMVCServletSpringMVC是基于Servlet封装的MVC框架Servlet是单例的 在高并发情况下,可能会存在线程安全问题ServletContainerInitializer在web容器启动时为提供给第三方组件机会做一些初始化的工作,例如注册servlet或者filtes等,servlet规范中通过ServletContainerInitializer实现此功能。每个框架要使用ServletContainerInitializer就必须在对应的jar包的META-原创 2021-06-22 10:33:52 · 82 阅读 · 0 评论 -
spring循环依赖 (1-6)
spring循环依赖如何底层解决循环依赖原理Map<String, Object> singletonObjects 一级缓存完成对象(对象和属性都已经赋值)Map<String, Object> earlySingletonObjects 二级缓存 不完整对象 对象已经创建但是属性缺没有赋值 早期对象Map<String, ObjectFactory<?>> singletonFactories 三级缓存(只初始化,没有给属性赋值对象) 存放原创 2021-06-11 17:22:37 · 86 阅读 · 0 评论 -
spring事务实现原理 (1-5)
spring事务实现原理Spring声明事务源码分析开启@EnableTransactionManagement开启事务注解@Import(TransactionManagementConfigurationSelector.class)继续加载AutoProxyRegistrar、ProxyTransactionManagementConfiguration对象 (这两个对象会被spring 管理)会将该类InfrastructureAdvisorAutoProxyCreator注册ioc容器原创 2021-06-10 10:59:01 · 122 阅读 · 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 · 157 阅读 · 0 评论 -
spring aop源码分析 (1-3)
SpringBean的生命周期进入到刷新的方法refresh();finishBeanFactoryInitialization()初始化所有单例 对象preInstantiateSingletons(); 初始化所有的单例对象 注意:非懒加载getBean() → doGetBean() 先查询该对象是否有初始化过,没有话 就创建注册到IOC容器中createBean()创建对象 判断对象如果是为单例的情况下调用该方法doCreateBean()创建IOC对象createBeanInsta原创 2021-06-09 10:15:46 · 112 阅读 · 0 评论 -
spring 源码之bean 生命周期 (1-2)
spring bean 生命周期原创 2021-06-07 13:54:07 · 95 阅读 · 0 评论 -
spring 源码之核心注解 (1-1)
spring 源码_1原创 2021-06-07 13:42:01 · 133 阅读 · 0 评论