- 博客(11)
- 收藏
- 关注
原创 springboot源码-内置tomcat初始化
前言:1.承接springboot源码-内置tomcat容器创建,对最后一个步骤getTomcatEmbeddedServletContainer(tomcat)进行详细阐述2.getTomcatEmbeddedServletContainer(tomcat)主要是执行了容器的初始化,核心方法:TomcatEmbeddedServletContainer-initialize涉及一些知识...
2018-12-29 11:31:03 665
原创 springboot源码-内置tomcat创建过程
前言:1.在Springboot-web应用启动过程中,执行子容器的OnRefresh步骤时,创建并初始化一个内置的tomcat8容器2.然后在执行子容器的finishRefresh步骤时,启动tomcat容器tomcat-8相关:1.Apache Tomcat 8支持Java EE 7规范,包括Java Servlet 3.1、JSP 2.3、Java统一表达式语言EL 3.0等2...
2018-12-29 10:42:23 699
原创 springboot-Bean的创建过程
Bean的创建过程:DefaultListableBeanFactory->AbstractBeanFactory->AbstractAutowireCapableBeanFactoryDefaultListableBeanFactory:执行创建bean前的准备操作,如:将factory注册表所有的BeanDefination转化为RootBeanDefinationAbstr...
2018-12-20 16:19:01 2513
原创 springboot-容器及启动过程
SpringBoot会启动两个容器,即父子容器父容器(Spring容器):AnnotationConfigWebApplicationContex子容器(SpringMVC容器):AnnotationConfigEmbeddedWebApplicationContex思考几个问题:问题1:为什么要启动父子两个容器?在Spring整体框架的核心概念中,容器是核心思想,而在一个项目中,容器...
2018-12-17 18:10:50 2274 5
原创 springboot-@PropertySource使用注意事项
注意事项如下:1.注解的配置文件如果名称name字段重复,springboot会自动基于重复的配置文件进行扩展。2.使用@PropertySource注解不要使用@EnableConfigProperties的方式载入容器,最好用@CompontenScan能扫描到的方式载入容器,可以参考:ConfigurationClassParser的doProcessConfigurationCla...
2018-12-12 20:27:21 508
原创 springboot-BeanDefinitionRegistry接口
BeanDefinitionRegistry接口:用于注册BeanDefinition到容器中的接口类 实现类众多抽象类:AbstractBeanDefinitionSpringBoot默认使用的实现类是:DefaultListableBeanFactory 主要接口方法:1.registerBeanDefinition(注册BeanDefinition)2.r...
2018-12-12 20:24:46 1398
原创 springboot-Ordered接口
Ordered接口:spring用于对象排序的接口,值越小,优先级越高常用扩展接口:PriorityOrdered,继承了Ordered接口 下面是PriorityOrdered接口的一个使用场景:1.springboot容器启动过程中执行invokeBeanFactoryPostProcessors时会执行BeanDefinitionRegistryPostProcessor集合...
2018-12-12 20:23:57 1760 1
原创 springboot-maven引入其他模块无法扫描到spring bean的问题
模块A引入模块B ,但是模块B的bean一直注入不进来原因: A模块的Application是在com.xx.xx包下,那么势必只能扫描到这个包下的bean, B模块的Application是在com.xxx包下,那么在A引入B以后就A就肯定扫描不到他上层包的bean解决办法:1.将A模块和B模块的Application置于相同路径下,例如com.xx下(只是名称一致,不是真的在同一包...
2018-12-12 20:22:31 9871 9
原创 springboot-BeanDefinition学习
BeanDefinition:描述一个bean实例有哪些属性值、构造器参数值以及一些其他bean相关信息 比较常用的BeanDefinition实现类为GenericBeanDefinition,GenericBeanDefinition的优点是它允许动态定义父依赖项,而不是将该角色“硬编码”为RootBeanDefinition定义。类图结构如下: 扩展:Bean...
2018-12-12 20:21:25 731
原创 springboot-Aware接口
Aware原意是"能够感知的",在Spring中有很多以Aware结尾的接口名称,他们起到的作用是让实现类能够获取到相关的信息,举例如下:BeanNameAware:实现该接口的类可以获取自身beanName属性ApplicationContextAware:实现该接口的类可以获取springContext属性,即Spring容器 总结:1.Spring-Aware相关接口众多...
2018-12-12 20:18:04 1296
原创 springboot-配置类学习
开发SpringBoot应用时经常涉及到配置文件,平时只是知道使用@ConfigurationProperties来注解类,或者使用@Value来获取配置值,通过@EnableConfigurationProperties来将配置类作为bean引入容器中,等等这些操作只是局限于使用上,现在我决定去研究下源码,帮助自己能够更充分地了解其中的机制。一、首先从@Configurati...
2018-12-12 20:16:34 3704 2
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人