Spring core项目的创建与使用

目录

 一、创建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项目的创建有些相似

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>


3、添加启动类


 二、将对象储存到Spring

概述:

1、创建一个Bean对象

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

创建一个Bean对象

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


将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对象时,我们的配置文件还会变。

如下图


三、从Spring中取出bean对象

实例分析

getBean方法分析

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

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

方法一:

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

方法二: 

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


一些补充

同一个User类在spring注册两次

 单例模式

 

四、相关面试题

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

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

五、总结 

猜你喜欢

转载自blog.csdn.net/weixin_61061381/article/details/127701734