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




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