通常我们都是在main方法中调用SpringApplication.run()方法启动SpringBoot应用的,今天来看一下启动过程中都干了些什么。上图。大致分为两步,第一步new一个SpringApplication对象,第二步调用其run方法。在创建SpringApplication对象的时候做了以下几件事情:(1)判断应用是不是Web应用,判断的依据是classpath中有没有Servle
今天,以ClassPathXmlApplicationContext为例来看一下,Spring启动的时候都做了什么重点看refresh()方法refresh()方法是在AbstractApplicationContext类中定义的ClassPathXmlApplicationContext间接继承AbstractApplicationContext这里面每一行代码的注释都写得很清楚我就不废话了,一
对于一个Application提供配置的核心接口,在应用运行的时候它是只读的。一个ApplicationContext提供以下能力:1、可以通过BeanFactory中的方法访问应用组件2、可以加载文件资源3、可以给已经注册的监听器发送事件4、可以解析消息,支持国际化5、可以从父级Context中继承,当然定义在子Context(或者叫后台Context)中的总是具有优先权。这意味着,比如说,一个
在Spring容器中,Bean的实例以BeanDefinition来表示的。一个BeanDefinition描述了一个Bean实例。
BeanFactory是一个顶级接口,下面看下它是干什么的。这里说了,它是访问Spring Bean容器的根接口,是Bean容器的基本视图。它的一些子接口,比如ListableBeanFactory和ConfigurableBeanFactory都有特别的而且不同的用途。实现了这个接口的对象维护了许多的Bean定义,每一个Bean定义用一个名字来唯一标识。下面看一下它的子接口以及实现类有三个子接口
在这个注解中,最重要的是它导入了一个类EnableAutoConfigurationImportSelector它是一个ImportSelector接口的实现类,而ImportSelector接口中的selectImports方法所返回的类将被Spring容器管理起来。再看AutoConfigurationImportSelector类,它不光实现了ImportSelector接口,还实现了很多其
Copyright © 2005-2024 51CTO.COM 版权所有 京ICP证060544号