当前位置 : 主页 > 编程语言 > java >

Spring基础(二):IOC概念引入

来源:互联网 收集:自由互联 发布时间:2022-08-15
文章目录 ​​IOC概念引入​​ ​​Spring解耦合的原理​​ ​​1、创建maven项目,设置maven​​ ​​2、pom.xml中导入spring依赖​​ ​​3、在项目中定义一个接口和实现类​​ ​​2、接口


Spring基础(二):IOC概念引入_IOC

文章目录

​​IOC概念引入​​

​​Spring解耦合的原理​​

​​1、创建maven项目,设置maven​​

​​2、pom.xml中导入spring依赖 ​​

​​3、在项目中定义一个接口和实现类​​

​​2、接口中定义一个方法并在实现类中实现​​

​​4、创建spring配置文件​​

​​5、测试通过容器获取对象​​


IOC概念引入

Spring基础(二):IOC概念引入_IOC_02

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

一句话:创建对象交给容器

Spring解耦合的原理

图解

Spring基础(二):IOC概念引入_控制反转_03

1、创建maven项目,设置maven

先创建一个空项目

Spring基础(二):IOC概念引入_java_04

 

名字可以是spring_all

Spring基础(二):IOC概念引入_spring_05

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

Spring基础(二):IOC概念引入_IOC_06

Spring基础(二):IOC概念引入_IOC_07

 

2、pom.xml中导入spring依赖 

<dependencies>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-core</artifactId>
<version>5.3.5</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-beans</artifactId>
<version>5.3.5</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-context</artifactId>
<version>5.3.5</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-expression</artifactId>
<version>5.3.5</version>
</dependency>
</dependencies>

 

四个依赖介绍

  • spring-context      上下文,容器
  • spring-beans         创建对象
  • spring-core            核心jar
  • spring-expression 表达式jar

但是事实上,我们导入spring-context的时候,会自动导入其他依赖的jar,自动进行了依赖传递

所以,导入一个spring-context 依赖也可以

Spring基础(二):IOC概念引入_原力计划_08

依赖传递关系图如下

Spring基础(二):IOC概念引入_spring_09

 

为了方便测试,我们导入Junit测试依赖

<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.13.1</version>
<scope>test</scope>
</dependency>

3、在项目中定义一个接口和实现类

EmpDao接口和实现类

Spring基础(二):IOC概念引入_控制反转_10

2、接口中定义一个方法并在实现类中实现

接口

Spring基础(二):IOC概念引入_原力计划_11

实现类

Spring基础(二):IOC概念引入_控制反转_12

 

在spring配置容器中的对象

4、创建spring配置文件

Spring基础(二):IOC概念引入_spring_13

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

Spring基础(二):IOC概念引入_原力计划_14

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

Spring基础(二):IOC概念引入_spring_15

5、测试通过容器获取对象

Spring基础(二):IOC概念引入_控制反转_16



上一篇:Java网络编程之流的详解
下一篇:没有了
网友评论