目录

 一、创建Spring项目

1、创建一个Maven项目

2、添加Spring依赖 

3、添加启动类

 二、将对象储存到Spring

创建一个Bean对象

将Bean对象注册到Spring

三、从Spring中取出bean对象

实例分析

getBean方法分析

一些补充

四、相关面试题

五、总结 


经过上一篇博客我们已经知道了Spring是一个具有众多工具方法的IoC容器,既然是容器。那么就有这两个基本的功能。

  • 将对象存到容器中
  • 从容器中取出对象

在Spring中,对象也被称为Bean,所以后⾯咱们再遇到对象就以 Bean 来称呼

由此整个项目的创建和使用大概有以下三步:

1、创建Spring项目

2、存Bean

3、取Bean

 

 一、创建Spring项目

1、新建一个普通Maven项目

2、添加依赖——Spring 框架⽀持(spring-context、spring-beans)

3、添加启动类(因为我们这里是Spring core项目,不是web项目,需要我们自己手动创建启动类)


1、创建一个Maven项目

Spring的本质其实还是一个Maven项目,创建Maven项目和我们之前servlet项目的创建有些相似

springframework maven地址 spring core maven_java

 

springframework maven地址 spring core maven_xml_02

 

springframework maven地址 spring core maven_spring_03

2、添加Spring依赖 

 在项目中的pom.xml中添加Spring的依赖(可直接复制,dependency可以从Maven中央仓库获取)

<dependencies>
        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-context</artifactId>
            <version>5.2.3.RELEASE</version>
        </dependency>

        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-beans</artifactId>
            <version>5.2.3.RELEASE</version>
        </dependency>
    </dependencies>

springframework maven地址 spring core maven_java_04

 


3、添加启动类

springframework maven地址 spring core maven_java_05

 


 二、将对象储存到Spring

概述:

1、创建一个Bean对象

2、将Bean对象注册到Spring(使用Spring配置文件进行注册)

创建一个Bean对象

所谓的 Bean 就是 Java 语⾔中的⼀个普通对象
 

springframework maven地址 spring core maven_java_06

 


 

将Bean对象注册到Spring

首先我们注册要用到Spring的配置文件,在配置文件中进行注册。

spirng的配置文件(可直接复制)

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

</beans>

但注意我们这里的配置文件是并不是最终版——我们后面在用注解来进行更高效的存取Bean对象时,我们的配置文件还会变。

 

如下图

springframework maven地址 spring core maven_xml_07

 


三、从Spring中取出bean对象

实例分析

springframework maven地址 spring core maven_java_08

 

getBean方法分析

springframework maven地址 spring core maven_配置文件_09

 

 从上图可以看出getBean方法是可以传多个参数类型的。

那么这些不同参数类型有什么区别吗?一起来看看吧!

方法一:

因为需要强转,有时候可能会出现一些问题

springframework maven地址 spring core maven_配置文件_10

方法二: 

springframework maven地址 spring core maven_java_11

 方法三(这也是我推荐大家使用的方法)

springframework maven地址 spring core maven_xml_12


 

一些补充

同一个User类在spring注册两次

springframework maven地址 spring core maven_spring_13

 

 

 单例模式

springframework maven地址 spring core maven_java_14

四、相关面试题

除了 ApplicationContext 之外,我们还可以使⽤ BeanFactory 来作为 Spring 的上下文

springframework maven地址 spring core maven_xml_15

 ApplicationContext 和 BeanFactory 效果是⼀样的,ApplicationContext 属于 BeanFactory 的⼦类.
它们的区别如下。

springframework maven地址 spring core maven_配置文件_16

 

五、总结 

springframework maven地址 spring core maven_java_17

 

springframework maven地址 spring core maven_spring_18