spring加载流程之构造函数中的register(annotatedClasses)

本文介绍了Spring加载流程中的构造函数使用,特别是`register(annotatedClasses)`方法如何批量注册类,并详细探讨了AnnotatedBeanDefinitionReader在其中的作用。在执行`refresh()`之前,Spring已经注册了多个beanDefinition,包括内部bean和自定义配置bean。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

缘起: 看到这篇,spring流程加载之AnnotationConfigApplicationContext的默认构造函this()就执行完了。
1.spring加载流程之AnnotatedBeanDefinitionReader
2.spring加载流程之ClassPathBeanDefinitionScanner

AnnotationConfigApplicationContext context =
				new AnnotationConfigApplicationContext(Test.class);

public AnnotationConfigApplicationContext(Class<?>... annotatedClasses) {
		/**
		 * 这里由于他有父类,所以会先调用父类的构造方法:
		 * 看源码得知初始化了DefaultListableBeanFactory
		 *
		 * 然后才调用自己的构造方法:
		 * 1.创建一个读取注解的Bean定义读取器
		 * 	将bean读取完后,会调用DefaultListableBeanFactory注册这个bean
		 * 2.
		 */
		this();
		register(annotatedClasses);
		refresh();
	}

上下文的register(annotatedClasses)方法

看传参可知,可以同时注册多个calss,以逗号隔开

public void register(Class<?>..
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值