Spring beandefinition中有bean实例吗,springboot beandefinition
目录
一、前期准备1.1 环境依赖1.2 实体类1.3应用上下文.xml1.4测试代码二、探究过程2.1 目标2.2定义的创建过程2.2.1 回顾豆对象的创建abstractapplicationcontext 2。2 .3 abstractxmlapplicationcontext 2。2 .4 abstractbeandeditionreader 2。2 .5 xmlbeandefinitionreader 2。2 .6 defaultbeandeditiondocumentreader 2。2 .7 beandeditionparserdelegate 2。2 .8 beandeditionreaderutils 2。2 .9结论2.3定义的存储2.3.1默认bean定义documentreader 2。3 .2 bean定义readerutils 2。3 .3 defaultlistablebeanfactory 2。3 .4结论参考视频:https://www.bilibili.com/video/BV1Bq4y1Q7GZ?p=4
通过视频的学习和自身的理解整理出的笔记。
一、前期准备
1.1 环境依赖
依赖项依赖项groupIdorg.springframework/groupId人工制品春天-背景/version5.1.7.RELEASE/version/人工制品依赖项依赖项groupIdorg.springframework/groupId人工智能spring-web MVC/version5.1.7.RELEASE/version/人工智能依赖项/依赖项
1.2 实体类
简单的用户类,在测试过程中创建这个用户类的对象。
公共类用户{私有整数id;私有字符串名称;公共用户(){ system。出去。println(创建了);}}
1.3 applicationContext.xml
在应用程序上下文.可扩展标记语言配置豆对象。
?可扩展标记语言版本=1.0 编码=UTF八号?豆子xmlns= http://www。spring框架。org/schema/beans xmlns : xsi= http://www。w3。org/2001/XML schema-instance xsi :架构位置= http://www。spring框架。http://www.springframework.org/schema/beans/spring-beans.xsd bean class= com。zqc。域。用户id=用户/bean/bean
1.4 测试代码
通过应用程序上下文.可扩展标记语言配置应用程序的上下文,在容器中创建用户对象。
public class spring demo { public static void main(String[]args){ application context context=new classpathmlaplicationcontext( application context。XML’);用户用户=(使用
r) context.getBean("user"); }}
二、探究过程
2.1 目标
目标:BeanDefinition是什么?是什么时候创建的?
2.2 BeanDefinition的创建过程
2.2.1 回顾bean对象的创建
前面在分析Bean创建的过程中,发现在执行完refresh()方法后就完成了bean对象的创建。
在测试代码中创建context对象:
ApplicationContext context = new ClassPathXmlApplicationContext("applicationContext.xml");
ClassPathXmlApplicationContext构造器中调用了另一个构造器:
该构造器中执行了refresh()方法
在refresh()方法中创建了非懒加载的单例对象:
所以BeanDefinition可定在这行代码之前创建的。下面看看在refresh()方法的什么地方创建了BeanDefinition。
2.2.2 AbstractApplicationContext
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。