0
点赞
收藏
分享

微信扫一扫

springboot启动类上的注解


@SpingbootApplication注解解析

@SpingbootApplication是在启动类上的,在启动类中的main函数中有一个springApplication.run(启动类.class,args);,然后进行然后在run方法中会new 一个SpringApplication 的对象,在对应的SpringApplication的构造函数中有两个方法setInitializers 和 setListeners,setInitializers 这个方法主要是为了获得applicationcontext的对应的类的名字,然后进行实例化, setListeners这个方法主要是为了获得ApplicationListener对应的类的名字然后进行实例化,然后通过deduceMainApplicationClass这个函数找到对应的main函数,在其中找到对应的启动类复制给Springapplication 的mainApplicationClass然后并调用对应的刚才新建的SpringApplication对象的run方法开始执行。

@AutoConfiguration

接上run方法开始运行,进行配置的相关装载,比如创建应用上下文,以及异常报告器的获取等一些准备工作,然后调用prepareContext函数准备上下文,在prepareContext中识别到启动类方便对启动类进行解析。之后进行refresh()。

总结:自动装配的实现就是为了从spring.factories文件中获取对应的bean对象,并且由spring容器来帮我们进行管理,会把获取的bean对象放到BeanFactory工厂中。

所有的 Bean对象创建的时候需要以下过程:

springboot启动类上的注解_springboot


自动装配的实现原理

springboot启动类上的注解_springboot_02


举报

相关推荐

0 条评论