上一篇博客中有介绍到,Spring是一个集成了众多工具的IoC容器,既然是容器,那它就具备两个最基本的功能:
- 将对象存储到容器中
- 从容器中拿取对象
而我们要学的,就是如何将对象存储到容器以及如何从容器中拿取到对象,所以这篇博客呢,主要就是分享以上两个知识点以及如何创建一个Spring项目.
在java中对象也叫Bean,故在这篇博客及之后的博客中我都将对象以Bean来著称
目录
1.创建Spring项目
接下来使用Maven来创建一个Spring项目,总共分3步:
- 创建一个maven项目
- 添加Spring框架依赖(spring-context,spring-beans)
- 添加启动类
1.1 创建一个maven项目
选择Maven,点击Next
点击Finish
1.2 添加Spring框架依赖
将以下这段代码复制到pom.xml文件中.可能有的朋友直接复制过去会标红,这很正常哈,是因为你的本地没有这样的依赖,你只需要强制刷新等一会即可.
<dependencies>
<!-- https://mvnrepository.com/artifact/org.springframework/spring-context -->
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-context</artifactId>
<version>5.2.2.RELEASE</version>
</dependency>
<!-- https://mvnrepository.com/artifact/org.springframework/spring-beans -->
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-beans</artifactId>
<version>5.2.2.RELEASE</version>
</dependency>
</dependencies>
(以上这段代码也可以去maven的中央仓库(https://mvnrepository.com/)去复制查找)
1.3 添加启动类
在java目录下添加一个启动类,类名没有要求(但最好还是符合java规范),类中包含main方法.
至此,一个Spring项目就创建好啦,可能有的朋友创建不成功,可以检查一下是否配置了国内源,如果没有,创建失败就很正常了.不知道怎么配置的可以自行去百度或者评论区留言或者私信哦.
2 存储Bean对象
存储Bean对象主要分 2 步:
- 创建Bean对象.存储Bean之前,得先有Bean才行,所以得先创建一个Bean
- 将Bean对象注册到Spring中
具体实现如下:
2.1 创建Bean
所谓Bean就是java中的一个普通对象,我这里随便写一个:
2.2 将Bean对象注册到Spring中
在resources目录下创建一个spring-config.xml文件(此文件名不做要求,但后缀必须为.xml) .将以下内容复制到spring-config.xml中(以下内容不需要过度理解,建议保存到⾃⼰可以找到的地⽅,以后要用的话直接拿出来复制粘贴即可,因为它是固定不变的):
<?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 htt
p://www.springframework.org/schema/beans/spring-beans.xsd">
</beans>
然后将User注册到Spring中即可,即在<beans>中添加如下配置:
3 获取并使用Bean对象
获取并使用Bean对象,主要分以下三步:
- 得到Spring上下文对象.因为我们已经将Bean注册到Spring中了,也就是将对象交由Spring处理了,所以拿到这个对象之前,我们要先获取到Spring上下文对象.
- 通过Spring对象,获取某一个指定的对象.
- 使用Bean对象.
3.1 创建Spring上下文
除了 ApplicationContext 之外,我们还可以使⽤ BeanFactory 来作为 Spring 的上下⽂,如下代码所示:
ApplicationContext 和 BeanFactory 效果是⼀样的,ApplicationContext 属于 BeanFactory 的⼦ 类,它们的区别如下:
- 从继承关系和功能⽅⾯来看:Spring 容器有两个顶级的接⼝:BeanFactory 和 ApplicationContext。其中 BeanFactory 提供了基础的访问容器的能⼒,⽽ ApplicationContext 属于 BeanFactory 的⼦类,它除了继承了 BeanFactory 的所有功能之外,它还拥有独特的特性, 还添加了对国际化⽀持、资源访问⽀持、以及事件传播等⽅⾯的⽀持。
- 从性能⽅⾯来看:ApplicationContext 是⼀次性加载并初始化所有的 Bean 对象,⽽ BeanFactory 是需要哪个才去加载哪个,因此更加轻量。
PS:⽽ ClassPathXmlApplicationContext 属于 ApplicationContext 的⼦类,拥有 ApplicationContext 的所有功能,是通过 xml 的配置来获取所有的 Bean 容器的。
3.2 获取指定的Bean对象
注意:此处要一致:
3.3 使用Bean对象
4.总结:
1).创建一个Spring项目
2).存对象
a). 创建Bean对象
b). 将 Bean 注册(配置)到 spring-confing.xml 中。
3).取对象
a). 获取Spring上下文,并读取到Spring的配置文件
b). 获取指定的Bean对象
c). 使用Bean对象
用图表示可大致表示为:
好啦,今天的分享就到这啦,博主也是在学习中,后面也会继续更新哒,现将自己学到的分享出来,有写的不对的或建议或不太理解的都欢迎评论或者私信哦