⭐作者介绍:大二本科网络工程专业在读,持续学习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。
 
| 类/接口 | 描述 | 
|---|---|
| ApplicationContext | Spring容器的顶层接口,提供了核心的容器功能和管理Bean的能力。 | 
| ConfigurableApplicationContext | 可配置的应用上下文接口,扩展了ApplicationContext,添加了配置刷新、关闭等额外的配置功能。 | 
| AbstractApplicationContext | 抽象的应用上下文实现类,提供了通用的应用上下文功能和模板方法。 | 
| AbstractRefreshableApplicationContext | 抽象的可刷新应用上下文实现类,支持上下文的刷新和重新加载。 | 
| AbstractXmlApplicationContext | 抽象的XML配置文件应用上下文实现类,用于解析和加载XML配置文件。 | 
| ClassPathXmlApplicationContext  | 从类路径下的XML配置文件中加载上下文的实现类。  | 
| FileSystemXmlApplicationContext  | 从文件系统中的XML配置文件中加载上下文的实现类。  | 
| XmlWebApplicationContext | 在Web环境中从XML配置文件中加载上下文的实现类。 | 
| AnnotationConfigApplicationContext  | 基于注解的应用上下文实现类,用于通过注解配置Bean。  | 
2、 getBean()
getBean()方法是ApplicationContext接口定义的一个重要方法,用于从Spring容器中获取指定名称或指定类型的Bean实例。该方法的使用可以通过以下几种方式进行:
- 通过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实例,并进行后续的操作和调用。它是实现依赖注入和控制反转的重要手段之一。



















