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

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

①. 什么是BeanFactory(Bean工厂)?


  • ①. 按照上面的Spring的原理图,Spring的整个框架其实就是工厂里面造东西的流程,分析清楚工厂干了什么活,Spring的整个框架也就清楚了


image.png


②. 进入BeanFactory里面就看到了核心的几句话:

总结源码中的话语:利用原型模式返回Prototype类型的bean,而单例模式返回单例bean


/**
 * The root interface for accessing a Spring bean container.
 * 根接口,整个访问容器的入口
 * <p>This is the basic client view of a bean container;
 * further interfaces such as {@link ListableBeanFactory} and
 * {@link org.springframework.beans.factory.config.ConfigurableBeanFactory}
 * are available for specific purposes.
 * <p>This interface is implemented by objects that hold a number of bean definitions,
 * 这个接口是一个实现,保存很多的BeanDefinition信息,都有一个唯一的名字
 * each uniquely identified by a String name. Depending on the bean definition,
 * the factory will return either an independent instance of a contained object
 * (the Prototype design pattern), or a single shared instance (a superior
 * 这个工厂将会返回独立的实例或者返回一个共享的实例 (原型模式、单例模式)
 * alternative to the Singleton design pattern, in which the instance is a
 * singleton in the scope of the factory). 
 **/


②. BeanFactory类中分析


  • ①. BeanFactory(Bean的工厂),工厂无外乎就是简单工厂,抽象工厂,工厂方法


  • ②. 首先BeanFactory工厂里面暴露的方法有一个叫getBean(),这个是获取组件
    工厂最重要的就是造组件,然后返回的是一个T类型的对象,它只造bean


  <T> T getBean(Class<T> requiredType) throws BeansException;


  • ③. 它不是简单工厂模式,Spring在底层不是一个ifelse判断就能搞定的,它底层还很复杂,外部只提供了一个工厂方法,使用工厂方法模式,给我们造组件对象


  • ④. BeanFactory(Bean的工厂)里面下设三大工厂:俗称分厂


微信图片_20220108225102.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
下一篇
无影云桌面