Spring基础:IOC概念引入

Posted Lansonli

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Spring基础:IOC概念引入相关的知识,希望对你有一定的参考价值。

文章目录

IOC概念引入

Spring解耦合的原理

1、创建maven项目,设置maven

2、pom.xml中导入spring依赖 

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

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

4、创建spring配置文件

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


IOC概念引入

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

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

Spring解耦合的原理

图解

1、创建maven项目,设置maven

先创建一个空项目

 

名字可以是spring_all

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

 

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 依赖也可以

依赖传递关系图如下

 

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

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

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

EmpDao接口和实现类

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

接口

实现类

 

在spring配置容器中的对象

4、创建spring配置文件

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

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

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


  • 📢博客主页:https://lansonli.blog.csdn.net
  • 📢欢迎点赞 👍 收藏 ⭐留言 📝 如有错误敬请指正!
  • 📢本文由 Lansonli 原创,首发于 CSDN博客🙉
  • 📢停下休息的时候不要忘了别人还在奔跑,希望大家抓紧时间学习,全力奔赴更美好的生活✨

以上是关于Spring基础:IOC概念引入的主要内容,如果未能解决你的问题,请参考以下文章

Spring -- IOC/DI 基础概念的理解

使用Spring框架入门二:基于注解+XML配置的IOC/DI的使用

spring学习--基础概念

Spring IOC 容器源码分析

Spring IOC 容器源码分析

Spring+IOC+容器源码分析