Spring相关API

⭐作者介绍:大二本科网络工程专业在读,持续学习Java,努力输出优质文章
⭐作者主页:@逐梦苍穹
⭐所属专栏:JavaEE、Spring

SpringAPI

  • 1、继承体系
  • 2、 getBean()

在这里插入图片描述

1、继承体系

在这里插入图片描述

在这里插入图片描述

上述继承体系中的主要类和接口包括:
  ● ApplicationContext:Spring容器的顶层接口,提供了获取Bean、管理Bean生命周期、依赖注入等核心功能。
  ● ConfigurableApplicationContext:可配置的应用上下文接口,扩展了ApplicationContext,添加了配置刷新、关闭等额外的配置功能。
  ● AbstractApplicationContext:抽象的应用上下文实现类,提供了通用的应用上下文功能和模板方法。
  ● AbstractRefreshableApplicationContext:抽象的可刷新应用上下文实现类,支持上下文的刷新和重新加载。
  ● AbstractXmlApplicationContext:抽象的XML配置文件应用上下文实现类,用于解析和加载XML配置文件。
  ● ClassPathXmlApplicationContext:从类路径下的XML配置文件中加载上下文的实现类。
  ● FileSystemXmlApplicationContext:从文件系统中的XML配置文件中加载上下文的实现类。
  ● XmlWebApplicationContext:在Web环境中从XML配置文件中加载上下文的实现类。
  ● AnnotationConfigApplicationContext:基于注解的应用上下文实现类,用于通过注解配置Bean。
在这里插入图片描述

类/接口描述
ApplicationContextSpring容器的顶层接口,提供了核心的容器功能和管理Bean的能力。
ConfigurableApplicationContext可配置的应用上下文接口,扩展了ApplicationContext,添加了配置刷新、关闭等额外的配置功能。
AbstractApplicationContext抽象的应用上下文实现类,提供了通用的应用上下文功能和模板方法。
AbstractRefreshableApplicationContext抽象的可刷新应用上下文实现类,支持上下文的刷新和重新加载。
AbstractXmlApplicationContext抽象的XML配置文件应用上下文实现类,用于解析和加载XML配置文件。
ClassPathXmlApplicationContext 从类路径下的XML配置文件中加载上下文的实现类。
FileSystemXmlApplicationContext 从文件系统中的XML配置文件中加载上下文的实现类。
XmlWebApplicationContext在Web环境中从XML配置文件中加载上下文的实现类。
AnnotationConfigApplicationContext 基于注解的应用上下文实现类,用于通过注解配置Bean。

2、 getBean()

getBean()方法是ApplicationContext接口定义的一个重要方法,用于从Spring容器中获取指定名称或指定类型的Bean实例。该方法的使用可以通过以下几种方式进行:

  1. 通过Bean名称获取Bean实例:
    在这里插入图片描述

这里的"beanName"是在Spring配置文件或通过注解定义的Bean的名称。如果找不到对应名称的Bean实例,将会抛出NoSuchBeanDefinitionException异常。
 2. 通过Bean名称和类型获取Bean实例:
在这里插入图片描述

这种方式在获取Bean实例时可以指定其具体的类型,以确保返回的对象是符合期望的类型。如果找不到对应名称和类型的Bean实例,也会抛出NoSuchBeanDefinitionException异常。
 3. 通过类型获取Bean实例:
在这里插入图片描述

在这种情况下,Spring容器会根据指定的类型去查找对应的Bean实例。如果找到多个符合类型的Bean实例,会抛出NoUniqueBeanDefinitionException异常。如果找不到任何符合类型的Bean实例,会抛出NoSuchBeanDefinitionException异常。
 4. 判断是否存在指定名称的Bean:
在这里插入图片描述

这个方法用于检查Spring容器中是否存在指定名称的Bean。返回值为true表示存在,返回值为false表示不存在。
getBean()方法是Spring框架中非常常用的一个方法,通过它可以方便地获取所需的Bean实例,并进行后续的操作和调用。它是实现依赖注入和控制反转的重要手段之一。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/1065.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

[Spec] WiFi P2P Discovery

学习资料:Android Miracast 投屏 目录 学习资料:Android Miracast 投屏 P2P discovery Introduction Device Discovery procedures Listen State Search State Scan Phase Find Phase 总结 P2P discovery Introduction P2P发现使P2P设备能够快速…

SC7514运算放大器(OPA)可pin对pin兼容AD8694

SC751X 系列轨至轨 CMOS 运算放大器针对低电压单电源运行进行了优化。轨至轨输入和输出、低噪声(5nV/√Hz) 和高速运行 (38MHz, 22V/μs) 使得运算放大器非常适合驱动模数 (A/D) 转换器。可pin对pin兼容AD8694。而且也适用于手机功率放大器 (PA) 控制环路和视频处理(75Ω 驱动能…

如何清除浏览器的 DNS 缓存 (Chrome, Firefox, Safari)

如何清除浏览器的 DNS 缓存 (Chrome, Firefox, Safari) Chrome Chromium Edge Firefox Safari clear DNS Cache, flush DNS cache 请访问原文链接:https://sysin.org/blog/clear-browser-dns-cache/,查看最新版。原创作品,转载请保留出处。…

macOS FreeBSD 如何刷新 DNS 缓存

macOS FreeBSD 如何刷新 DNS 缓存 全文:如何刷新 DNS 缓存 (macOS, Linux, Windows) Unix Linux Windows 如何刷新 DNS 缓存 (macOS, FreeBSD, RHEL, CentOS, Debian, Ubuntu, Windows) 请访问原文链接:https://sysin.org/blog/how-to-flush-dns-cach…

无迹卡尔曼滤波在目标跟踪中的作用(一)

在前一节中,我们介绍了扩展卡尔曼滤波算法EKF在目标跟踪中的应用,其原理是 将非线性函数局部线性化,舍弃高阶泰勒项,只保留一次项 ,这就不可避免地会影响结果的准确性,除此以外,实际中要计算雅各…

机器学习李宏毅学习笔记36

文章目录 前言Meta learning应用总结 前言 Meta learning(二)应用方向 Meta learning应用 回顾gradient descen Θ0(initial的参数)是可以训练的,一个好的初始化参数和普通的是有很大差距的。可以通过一些训练的任务…

2 Prometheus 简介

目录 1. 起源 2. Prometheus 架构 2.1 指标收集 2.2 服务发现 2.3 聚合和警报 2.4 查询数据 2.5 服务自治 2.6 冗余和高可用性 2.7 可视化 3. Prometheus数据模型 3.1 指标名称 3.2 标签 3.3 采样数据 3.4 符号表示 3.5 保留时间 4. 安全模型 5. Prometheus生态…

Dubbo【Dubbo实战(用户更新业务消费者实现、用户删除业务消费者实现、复习内容) 】(六)-全面详解(学习总结---从入门到深化)

目录 Dubbo实战_用户更新业务消费者实现 Dubbo实战_用户删除业务消费者实现 复习内容: Dubbo实战_用户更新业务消费者实现 在Consumer中调用更新用户业务 /*** 根据用户id修改用户名字* param users* return*/Integer updateUsers(User users);/*** 根据用户id查…

物种气候生态位动态量化与分布特征模拟----R语言

在全球气候快速变化的背景下,理解并预测生物种群如何应对气候变化,特别是它们的地理分布如何变化,已经变得至关重要。利用R语言进行物种气候生态位动态量化与分布特征模拟,不仅可以量化描述物种对环境的需求和适应性,预…

掌握Python的X篇_4_开发工具ipython与vscode的安装使用,作业

本篇将会介绍两个工具的安装及使用来提高Python的编程效率。 ipython:比python更好用的交互式开发环境vscode:本身是文本编辑器,通过安装相关的插件vscode可以作为python集中开发环境使用 掌握Python的X篇_4_开发工具ipython与vscode的安装使…

TipDM数据挖掘建模平台产品功能特点

TipDM数据挖掘建模平台是可视化、一站式、高性能的数据挖掘与人工智能建模服务平台,致力于为使用者打通从数据接入、数据预处理、模型开发训练、模型评估比较、模型应用部署到模型任务调度的全链路。平台内置丰富的机器学习、深度学习、人工智能算法,可覆…

Lecture 8 Deep Learning for NLP: Recurrent Networks

目录 Problem of N-gram Language Model N-gram 语言模型的问题Recurrent Neural Network(RNN) 循环神经网络RNN Language Model: RNN 语言模型Long Short-Term Memory Model (LSTM) 长短期记忆模型(LSTM)Gating Vector 门向量Forget Gate 忘记门Input G…