0
点赞
收藏
分享

微信扫一扫

正则表达式常用的函数及用法说明

大柚子top 2023-05-13 阅读 105

目录

一. 创建 Spring项目

二. 存储 Bean 对象到Spring中

1. 添加Spring配置文件 

2. 创建一个 Bean 对象

3. 将 Bean 存储到 Spring 容器中

三. 从 Spring 中获取并使用 Bean 对象

1. 创建 Spring 上下文

1.1 使用 ApplicationContext 作为Spring上下文

1.2 使用 BeanFactory 作为Spring上下文

2. 从 Spring 中获取到指定的 Bean 对象

3. 使用 Bean

4. Application 和 BeanFactory的区别

5. 获取 Bean 的三种方法


一. 创建 Spring项目

<!-- https://mvnrepository.com/artifact/org.springframework/spring-context -->
<dependency>
    <groupId>org.springframework</groupId>
    <artifactId>spring-context</artifactId>
    <version>5.3.26</version>
</dependency>

二. 存储 Bean 对象到Spring中

1. 添加Spring配置文件 

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
       xmlns:content="http://www.springframework.org/schema/context"
       xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd http://www.springframework.org/schema/context https://www.springframework.org/schema/context/spring-context.xsd">
</beans>

2. 创建一个 Bean 对象

3. 将 Bean 存储到 Spring 容器中

使用 Bean 标签来存储,id 关键字表示Bean对象的名称,class 关键字表示该类的路径(包名+类名)。 

三. 从 Spring 中获取并使用 Bean 对象

1. 创建 Spring 上下文

1.1 使用 ApplicationContext 作为Spring上下文

1.2 使用 BeanFactory 作为Spring上下文

2. 从 Spring 中获取到指定的 Bean 对象

 

getBean()方法返回的类型是Object,因此要记得进行类型转换; 

BeanFactory 同理; 

3. 使用 Bean

BeanFactory同理;

4. Application 和 BeanFactory的区别

首先创建一个 Teacher类和 Student类,并设置其构造方法;

存储两个 Bean 对象到 Spring 容器中,分别为 Student类 和 Teacher类; 

  观察运行结果:

可以看出 ApplicationContext 在执行创建 ApplicationContext 对象的时候,就把配置文件中所有Bean对象创建存储在 Spring容器中了,而 BeanFactory只有在执行 getBean() 方法的时候才去加载对应的Bean对象,且不是把配置文件中所有Bean对象都加载,而是只加载getBean()方法对应的Bean对象。

5. 获取 Bean 的三种方法

1. 通过名称获取 

Student student = (Student) applicationContext.getBean("student");        // 根据名称获取

方法返回 Object 对象,因此需要进行强转;并且不允许 Spring 容器中同时存在多个对象名称相同的Bean,否则会报错;

且当 getBean() 方法返回 null 时,也就是找不到对应 id 的 Bean 对象时,也会抛出异常; 

2. 通过类型获取 

Student student =applicationContext.getBean(Student.class);            // 根据类型获取

这种方法就避免了强制类型转换,但是当同一个类在spring容器当中注入了两个不同的对象的时候,就会抛出异常。

3. 通过名称+类型方式获取 

Student student = applicationContext.getBean("student",Student.class);  // 根据名称+类型查询对象

此方法相比于前面两种就更加的严谨明确了,所以平时使用的更多。

补充说明:通过 Spring 上下文对象 getBean() 方法获取到 Bean 对象就是所谓的 DI 操作。 

举报

相关推荐

0 条评论