JavaEE主流框架总结~02.Spring IOC

上一期

Spring 运行原理

       Spring 启动时读取应用程序提供的 Bean 配置信息,并在 Spring 容器中生成一份相应的Bean 配置注册表,然后根据这张注册表实例化 Bean,装配好 Bean 之间的依赖关系,为上层应用提供准备就绪的运行环境。

在这里插入图片描述

       Spring会先把bean加载到spring的容器中,形成一个bean定义注册表。然后根据注册表里面的信息去将配置的所有bean对象都做一个实例化放到缓存池里面

       当我们要用到bean方法的时候,其实都是从SpringIOC的缓存池里面取得的Bean对象

ApplicationContext

       ApplicationContext 内部封装了一个BeanFactory 对象,来实现对容器的操作,BeanFactory封装了 bean 的信息,而 ApplicationContext 通过访问 BeanFactory 对象获取 bean 的对象信息ApplicationContext 也实现了一系列的 BeanFactory 接口( 可以说 ApplicationContext 对BeanFactory 对象实现一种代理)。

       ApplicationContext 在应用这个 DefaultListableBeanFactory 对象的基础上,不仅实现了BeanFactory 接口提供的功能方法,并且黏合了一些面向应用的功能,如资源/国际化支持/ 框架事件支持等

在这里插入图片描述

EnvironmentCapable

       用于在接受BeanFactory的框架方法中执行{@code instanceof}检查

ListableBeanFactory

       接口的扩展将由bean工厂实现 。可以枚举其所有bean实例,而不是尝试bean查找

HierarchicalBeanFactory

       bean的相应{@code setParentBeanFactory}方法允许将父级设置为可配置的工厂

MessageSource

       解决消息的策略界面,支持参数化

ApplicationEventPublisher

       封装事件发布功能的接口。

ResourcePatternResolver

       解决位置模式的策略界面(例如, 一个Ant样式的路径模式)到Resource对象。

ClassPathXmlApplicationContext

在这里插入图片描述

refresh()方法

在这里插入图片描述

       在 BeanFactory 子类中有一个 DefaultListableBeanFactory 类,它包含了基本 Spirng IoC 容器所具有的重要功能,开发时不论是使用 BeanFactory 系列还是 ApplicationContext 系列来创建容器基本都会使用到 DefaultListableBeanFactory 类,可以这么说,在 spring 中实际上把它当成默认的 IoC 容器来使用

在这里插入图片描述

Logo

Authing 是一款以开发者为中心的全场景身份云产品,集成了所有主流身份认证协议,为企业和开发者提供完善安全的用户认证和访问管理服务

更多推荐