SPRING05_BeanFactory概述、HierarchicalBeanFactory、ListableBeanFacotory、DefaultListableBeanFactory档案馆详解(二)

简介: SPRING05_BeanFactory概述、HierarchicalBeanFactory、ListableBeanFacotory、DefaultListableBeanFactory档案馆详解(二)

③. HierarchicalBeanFactory(继承树的工厂)


①. 主要用于定义父子工厂(父子容器)


getParentBeanFactory():获取它的父工厂


containsLocalBean():判断工厂里面包不包含本地的一些bean


微信图片_20220108225149.png


②. 在spring的里面BeanFactory(Bean的工厂)下还有抽象工厂,但这些抽象工厂都没有创建产品的方法,相当于一个产品线,做一个产品,它的一个抽象工厂只是相当于对工厂的功能增强,跟产品没关系,所以它的这些抽象工厂不成立


③. 抽象工厂想要成立就是:有总厂(BeanFactory) 总厂下的分厂要造产品的,对产品的接口会有其他规划


④. ListableBeanFacotory接口详解


①. 主要保存了ioc容器中的核心信息


getBeanDefinitionCount():获取bean定义信息的总和


getBeanDefinitionNames():获取所有bean定义信息的名字


getBeanNamesForType():还能按照类型获取bean名字


微信图片_20220108225227.png


②. 具体来查看下结构图

下面的这个DefaultListableBeanFactory就是我们的档案库

AbstractApplicationContext是环境类


微信图片_20220108225246.png


③. 详解AbstractApplicationContext如何是坏境类


ResourceLoader资源读取器下的一个接口 == ResourcePatternResolver


抽象IOC容器(AbstractApplicationContext)拥有了资源加载器

(ResourcePatternResolver)的接口


而且在对象一创建的时候,就拿到了,是用getResourcePatternResolver这个方法拿到的


这揭秘了一个策略模式的环境类就是AbstractApplicationContext


就是ioc容器拿到资源解析器,资源解析器只要传的不一样,IOC容器就可以从不一样的地方获取资源


微信图片_20220108225302.png


④. AnnotationConfigApplicationContext(ioc)容器-


>ConfigurableApplicationContext->ApplicationContext实现->ListableBeanFacotory


我们用的IOC容器也是具有ListableBeanFacotory提供的功能,这个功能就是能列举出所有的bean


微信图片_20220108225322.png


⑤. 来到AbstractApplicationContext实现里面,还能看到一个bean的定义信息存在了哪个地方


我们用的是抽象的IOC容器(AbstractApplicationContext),抽象


(AbstractApplicationContext)还有一个GenericApplicationContext


在GenericApplicationContext这个类里面包含了一个叫DefaultListableBeanFactory,


我们用的IOC容器的父类GenericApplicationContext,父类GenericApplicationContext里


面有一个子属性,但这个子属性里面叫DefaultListableBeanFactory,这个


DefaultListableBeanFactory是被组合进来的


现在又有一个组合关系就是:GenericApplicationContext组合了一个


DefaultListableBeanFactory


微信图片_20220108225345.png


微信图片_20220108225349.png




相关文章
|
5月前
|
设计模式 开发框架 Java
Spring及工厂模式概述
Spring及工厂模式概述
46 8
|
4月前
|
XML Java 数据格式
Spring5系列学习文章分享---第一篇(概述+特点+IOC原理+IOC并操作之bean的XML管理操作)
Spring5系列学习文章分享---第一篇(概述+特点+IOC原理+IOC并操作之bean的XML管理操作)
41 1
|
2月前
|
Java API Spring
Spring5入门到实战------1、Spring5框架概述、入门案例
这篇文章是Spring5框架的入门教程,概述了Spring框架的核心概念和特点,并通过一个创建普通Java类的案例,详细演示了从下载Spring核心Jar包、创建配置文件、编写测试代码到运行测试结果的完整流程,涵盖了Spring IOC容器的使用和依赖注入的基本用法。
|
5月前
|
安全 前端开发 Java
学习从Struts迁移到Spring的策略概述
从Struts框架迁移到Spring框架是一个常见的升级路径,主要是为了利用Spring框架提供的更多功能、更好的模块化支持以及更广泛的社区资源。
77 3
|
4月前
|
XML 开发框架 Java
Spring框架第一篇(Spring概述与IOC思想)
Spring框架第一篇(Spring概述与IOC思想)
|
4月前
|
开发框架 前端开发 Java
Spring概述(1)
Spring概述(1)
40 0
|
5月前
|
前端开发 Java 应用服务中间件
Spring MVC框架概述
Spring MVC 是一个基于Java的轻量级Web框架,采用MVC设计模型实现请求驱动的松耦合应用开发。框架包括DispatcherServlet、HandlerMapping、Handler、HandlerAdapter、ViewResolver核心组件。DispatcherServlet协调这些组件处理HTTP请求和响应,Controller处理业务逻辑,Model封装数据,View负责渲染。通过注解@Controller、@RequestMapping等简化开发,支持RESTful请求。Spring MVC具有清晰的角色分配、Spring框架集成、多种视图技术支持以及异常处理等优点。
67 1
|
5月前
|
安全 Java API
第1章 Spring Security 概述(2024 最新版)(下)
第1章 Spring Security 概述(2024 最新版)
83 0
|
5月前
|
安全 Java 数据安全/隐私保护
第1章 Spring Security 概述(2024 最新版)(上)
第1章 Spring Security 概述(2024 最新版)
92 0
|
5月前
|
前端开发 Java 数据库连接
spring 的概述和入门
spring 的概述和入门
66 0
下一篇
无影云桌面