Spring03之IOC控制反转

本文介绍了Spring中的IOC(控制反转)概念,通过三代演变揭示了IOC的本质——对象创建控制权的转移。IOC通过依赖注入实现,使得程序解耦,开发者可以更专注于业务逻辑。在Spring中,IOC可通过XML配置或注解两种方式实现。
摘要由CSDN通过智能技术生成

一、IOC原型的推导

一、IOC原型的推导

第一代:我们如果要想使用其他UserDao,就只能在UserService中new对象时改变源码,站在web层的人表示无奈。如图。
在这里插入图片描述

第二代:我们在UserService中解耦了Dao和Service层的关联。在Service层中,我们设置了UserDao这个接口类型的属性,然后我们增加了一个set方法,在web层中我们可以通过传参数(多态)来切换我们想要的Dao。

在这里插入图片描述

第三代:真正的IOC容器的依赖注入

在这里插入图片描述

二、IOC的本质

1.IOC(控制反转)

这是一种设计思想。它是通过描述(XML或注解)并通过第三方去生产或获取特定对象的方式。这个第三方则是指IOC容器,它的实现方法是通过依赖注入(DI)。

2.使用IOC之前

我们使用面向对象编程,对象的创建与对象间的依赖关系完全硬编码在程序中,程序本身就决定了使用哪个对象。就是第一代中展示的那样。

3.使用IOC后

控制反转后将对象的创建转移给用户。用户可以自己选择使用哪种对象。
程序员的任务就是,不断给用户提供更多的选择,专注于业务的逻辑,而不用再去管对象的创建。
因此:所谓控制反转,就是掌握对象创建的控制权的对象变了,以前是程序,现在是用户。

4.在Spring中IOC实现的两种方式:

使用xml配置

Bean的定义信息和实现分离。

注解

二者可以合为一体。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值