如何理解Spring中的IOC

本文详细介绍了Spring中的核心概念——IOC(控制反转)和DI(依赖注入),阐述了IOC容器的概念,Bean的含义以及如何通过IOC实现对象的创建和管理。通过一个XML版的入门案例,分析了如何配置Spring管理Bean,包括Bean的定义、依赖关系的建立以及从容器中获取Bean的方法。文章旨在帮助读者深入理解Spring的IoC和DI机制,实现更好的代码解耦。
摘要由CSDN通过智能技术生成


前言

``


一、核心概念(必会!!)

要想理解IOC,必须要先理解一些相关的核心概念。

1.1 什么是IOC(控制反转)?

使用对象时,由主动new产生对象转换为由外部提供对象,此过程中对象创建控制权由程序转移到外部,此思想称为控制反转。

Spring技术对IOC思想进行了实现,下面来看与之相关的概念。

1.2 什么是IOC容器?

Spring提供了一个容器,称为IOC容器,用来充当IOC思想中的外部 (上述IOC概念提到的外部).

1.3 什么是Bean?

IOC容器负责对象的创建、初始化等一系列操作,被创建或被管理的对象在IoC容器中统称为Bean.

1.4 什么是DI(依赖注入)?

在容器中建立Bean与Bean直接的依赖关系的整个过程,称为依赖注入。

例:service业务层 需要依赖于数据访问层Dao 对象才能运行,那么我们需要在业务层创建一个Dao对象。
在IoC容器中,service和Dao对象都被包含在其中,所以我们可以直接靠Spring的IOC容器帮我们创建一个DAO对应的Bean.
在这里插入图片描述
在这里插入图片描述

1.5 充分解耦

上述的目标都是为了充分解耦这个重要的目标。实现原理:

  • 使用IoC容器管理Bean(IoC)
  • 在IoC容器内将有依赖关系的Bean进行绑定(DI)

效果:使用对象时不仅可以直接从IoC容器中获取,并且获取到的bean已经绑定了所有的依赖关系。

二、IoC入门案例思路分析(XML版)

2.1 不用IOC实现案例

我们先来看一个不用IOC的简单案例:
1、先创建一个web项目,项目结构如下
在这里插入图片描述

2、Dao层代码:
2.1 接口:

package com.tzw.dao;

/**
 * @author tzw
 * @version 1.0
 */
public interface BookDao {
   
    public void save();
}

2.2 实现类:

package com.tzw.dao.impl;
import com.tzw.dao.BookDao;
public class BookDaoImpl implements BookDao {
   
    @Override
    public void save() {
   
        System.out.println("book  Dao save... ");
    }
}

3、service 层接口代码:

package com.
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值