
springboot源码
LUK流
大数据/java web
展开
-
Spring Boot2.0版本源码(十):Spring Boot的Start的解析之starter原理解析
之前的章节中讲过Spring Boot2.0版本源码(九):Spring Boot的Servlet容器Tomcat工厂类的加载,这个章节中有讲解@EnableAutoConfiguration注解实现对starter的自动注入的过程,会在在AutoConfigurationImportSelector类的getAutoConfigurationEntry()方法内执行解析@EnableAutoCo...原创 2020-04-30 15:01:01 · 583 阅读 · 0 评论 -
Spring Boot2.0版本源码(十):Spring Boot的Start的解析之自定义starter
start是一个可插拔的插件,如果是直接引入一个jar,还需要将jar中的数据注入到spring boot当中才可以使用,springboot starer可以自定注入下面我们就自定义一个starter...原创 2020-04-30 14:18:33 · 740 阅读 · 0 评论 -
Spring Boot2.0版本源码(十):Spring Boot的Start的解析之@Conditional注解
@Conditional注解是根据我们的条件来判断是否需要注入某个bean@ConditionalOnBean表示是否存在某个bean@ConditionalOnMissingBean表示不存在bean@ConditionalOnClass表示是否存在某个类@ConditionalOnMissingClass表示不存在某个类@ConditionalOnWebApplication表示是...原创 2020-04-29 16:03:09 · 411 阅读 · 0 评论 -
Spring Boot2.0版本源码(九):Spring Boot的Servlet容器个性化参数配置原理
我们可以在application.properties文件中写入server.port=9000使得我们的tomcat容器启动的时候,会在9000端口。我们之前讲解bean的注入的过程中Spring Boot2.0版本源码(五):Spring Boot的Bean的解析之bean的实例化过程讲解过,我们会调用AbstractAutowireCapableBeanFactory的applyBean...原创 2020-04-28 21:00:16 · 285 阅读 · 0 评论 -
Spring Boot2.0版本源码(九):Spring Boot的Servlet容器Tomcat工厂类的加载
11原创 2020-04-27 19:16:59 · 442 阅读 · 0 评论 -
Spring Boot2.0版本源码(九):Spring Boot的Servlet容器启动解析整体流程
下面是tomcat的容器架构tomcat处理请求原创 2020-04-24 14:49:10 · 345 阅读 · 0 评论 -
Spring Boot2.0版本源码(八):Spring Boot的注解的解析出Bean之核心方法
在上一篇博客Spring Boot2.0版本源码(八):Spring Boot的注解的解析出Bean之整体流程,我们知道里面解析各种注解使用的是ConfigurationClassParser解析器的parse(candidates)这个方法,完成对待处理的各种注解进行处理。/** * Apply processing and build a complete {@link Configur...原创 2020-04-23 16:27:56 · 329 阅读 · 0 评论 -
Spring Boot2.0版本源码(八):Spring Boot的注解的解析出Bean之整体流程
里面有一个BeanDefinitionRegistryPostProcessor的实现类ConfigurationClassPostProcessor,它的postProcessBeanDefinitionRegistry()方法如下,其调用了processConfigBeanDefinitions()方法进入该方法 /** * Build and validate a configu...原创 2020-04-23 10:53:09 · 431 阅读 · 0 评论 -
Spring Boot2.0版本源码(七):Spring Boot的属性配置解析
使用:指定配置文件配置文件中配置属性实现CommandLineRunner, EnvironmentAware接口即可运行程序,打印环境属性:下面是常见的spring ware原创 2020-04-22 15:33:03 · 640 阅读 · 2 评论 -
Spring Boot2.0版本源码(六):Spring Boot的启动加载器
自定义启动加载器实现ApplicationRunner接口,重写run()方法即可SpringApplication.run()方法中有一个callRunners(context, applicationArguments);就是在springboot运行时调用启动加载器的地方/** * Run the Spring application, creating and refreshi...原创 2020-04-21 20:37:30 · 241 阅读 · 0 评论 -
Spring Boot2.0版本源码(五):Spring Boot的Bean的解析之bean的实例化过程
大致介绍了一下bean实例化重要步骤:/** * Return an instance, which may be shared or independent, of the specified bean. * @param name the name of the bean to retrieve * @param requiredType the required type of...原创 2020-04-21 15:58:15 · 445 阅读 · 0 评论 -
Spring Boot2.0版本源码(四):Spring Boot的Bean的解析之refresh()方法
1. IOC思想使用一个IOC去管理抽象bean的初始化,下面就是用一个@autowired注解完成animal的初始化,他可能是Dog也可能是Cat,我们无需关心它使用的是哪一个实现。以此降低类之间的耦合性。下面是注入bean的五种方式2. refresh()方法看到SpringApplication的run()方法中会使用调用refreshContext(context);实现re...原创 2020-04-21 14:57:21 · 499 阅读 · 0 评论 -
Spring Boot2.0版本源码(三):Spring Boot监听器的实现
1. 介绍监听器的组成部分springboot的监听器都是通过ApplicationListener实现的类完成对监听事件的处理的,看得出来,所有的监听事件都是ApplicationEventApplicationEventMulticaster就是管理这些监听器的多播器,里面用一个集合存储了所有的ApplicationListener的实现类,可以实现增加一个监听器,删除一个监听器,和执行...原创 2020-04-20 14:51:06 · 736 阅读 · 0 评论 -
Spring Boot2.0版本源码(二):Spring Boot初始化器
1. 系统初始化器通过ApplicationContextInitializer类可以实现在springboot容器刷新之前注册属性2. 演示FirstInitializer类实现ApplicationContextInitializer接口,重写其中的initialize方法,可以通过下面的代码,向springboot中注入map.put("key1", "value1");这样的键值对...原创 2020-04-20 12:06:13 · 499 阅读 · 0 评论 -
Spring Boot2.0版本源码(一):Spring Boot启动整体流程预览
1. 项目启动1.框架初始化,也就是new Application()的过程2.框架启动,也就是new Application(),run()方法执行3.自动装配2.框架初始化1.配置资源加载器:用于加载resource等文件2.配置primarysources:一般是启动类3.环境监测:一般分为三种环境,标准环境、web环境、active环境(springboot2特性)3. ...原创 2020-04-18 16:24:12 · 321 阅读 · 0 评论 -
springboot源码: springboot初始化过程
1. new SpringApplication()在springboot种执行这一行操作的时候,SpringApplication.run(DemoApplication.class, args);运行如下代码,初始化SpringApplication对象。public SpringApplication(ResourceLoader resourceLoader, Class<?&g...原创 2019-10-24 20:10:34 · 861 阅读 · 0 评论