设计模式 笔记7 | 抽象工厂模式 在源码中的应用 Spring篇

本文探讨了Spring框架如何运用抽象工厂模式。Spring作为JavaEE的轻量级开源框架,利用BeanFactory实现IoC和DI,其底层的BeanFactory接口及其实现类展示了抽象工厂模式的应用。AbstractApplicationContext是关注的重点,它在获取Bean时扮演关键角色。同时,DefaultListableBeanFactory承担了工厂逻辑。Spring的多个ApplicationContext子类,如ClassPathXmlApplicationContext,遵循抽象工厂模式,提供不同场景下的Bean管理。
摘要由CSDN通过智能技术生成

一、Spring 概述


参考资料:https://baike.baidu.com/item/spring/85061?fr=aladdin
Spring 是 JavaEE 编程领域的一个轻量级开源框架,由Rod Johnson 先生在2002年最早提出并随后创建。

Spring 是一个开源容器框架,集成各类型的工具,通过核心的 Bean Factory 实现了底层的类的实例化和生命周期的管理。

Spring 的主要特点:

  • IoC(Inverse of Control 控制反转),实现低耦合,底层采用工厂设计模式,所有的 Bean 都需注册到 Bean 工厂中,将 Bean 的初始化和生命周期的监控都交给工厂进行管理
  • AOP (Aspect Oriented Programming) 面向切面编程
  • DI (Dependency Injection) 依赖注入,可以注入普通类型或者对象到 Spring 容器中

二、Spring 中的抽象工厂模式


运行环境:

  • SpringBoot v2.6.9
  • Spring v5.3.21

由于 Spring 的几大特点: IoC 、DI 和 AOP 得知,其底层使用 Bean 工厂来注册与管理 Bean,即 Java 的普通类型和对象,那么我们可以来了解一下其底层的 Bean 工厂:

org.springframework.beans.factory.BeanFactory

package org.springframework.beans.factory;

import org.springframework.beans.BeansException;
import org.springframework.core.ResolvableType;
import org.springframework.lang.Nullable;

public interface BeanFactory {
   

    // Bean 自带的前缀
	String FACTORY_BEAN_PREFIX = "&";
    // 1. 根据名称获取 Bean
	Object getBean(String name) throws BeansException;
    // 2. 根据名称获取 Bean, 并转化为指定的对象
	
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值