
文章目录

简单的说就是,创建对象的权利,或者是控制的位置,由JAVA代码转移到spring容器,由spring的容器控制对象的创建,就是控制反转,spring创建对象时,会读取配置文件中的信息,然后使用反射给我们创建好对象之后在容器中存储起来,当我们需要某个对象时,通过id获取对象即可,不需要我们自己去new.
一句话:创建对象交给容器
图解

先创建一个空项目

名字可以是spring_all

在项目下创建模块 名字可以是spring_test_01


- <dependencies>
- <dependency>
- <groupId>org.springframeworkgroupId>
- <artifactId>spring-coreartifactId>
- <version>5.3.5version>
- dependency>
- <dependency>
- <groupId>org.springframeworkgroupId>
- <artifactId>spring-beansartifactId>
- <version>5.3.5version>
- dependency>
- <dependency>
- <groupId>org.springframeworkgroupId>
- <artifactId>spring-contextartifactId>
- <version>5.3.5version>
- dependency>
- <dependency>
- <groupId>org.springframeworkgroupId>
- <artifactId>spring-expressionartifactId>
- <version>5.3.5version>
- dependency>
- dependencies>
四个依赖介绍
但是事实上,我们导入spring-context的时候,会自动导入其他依赖的jar,自动进行了依赖传递
所以,导入一个spring-context 依赖也可以

依赖传递关系图如下
为了方便测试,我们导入Junit测试依赖
- <dependency>
- <groupId>junitgroupId>
- <artifactId>junitartifactId>
- <version>4.13.1version>
- <scope>testscope>
- dependency>
EmpDao接口和实现类

接口

实现类
在spring配置容器中的对象

文件名没有明确要求,暂时可以叫spring

在spring.xml中配置一个需要由容器初始化的对象

