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



相关文章
|
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