spring的ioc控制反转

本文深入探讨了控制反转(IoC)和依赖注入(DI)的概念及其在软件设计中的应用,详细解释了如何通过第三方实体如Spring框架,降低代码间的耦合度,实现类与类之间的解耦。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

控制反转(ioc)和依赖注入
控制反转(Inversion of Control,缩写为IoC),是面向对象编程中的一种设计原则,可以用来减低计算机代码之间的耦合度。其中最常见的方式叫做依赖注入(Dependency Injection,简称DI),通过控制反转,对象在被创建的时候,由一个调控系统内所有对象的外界实体,将其所依赖的对象的引用传递给它。也可以说,依赖被注入到对象中。

控制反转:在类a中使用类b的对象时,不再进行new操作,而是通过第三方(spring)将类b的对象传入给类a
依赖注入:是实现控制反转的手段
注入的类需要存在继承或者实现的关系,一般使用接口来实现,很多面试官成为面向接口编程

一下的原理,用接口来解开类与类之间的耦合,不过仍与接口有关系

public class SystemService{
	private SystemDao;
}
public interface SystemDao{
	......
}
public class SystemDaoImpl implements SystemDAO{
	......
}

三种依赖注入方式:
1。访问器注入(重点)
被注入的类需要有继承或者实现关系
被注入类中需要使用父类或者接口来声明对象,同时为这个对象至少设置set方法
还是上面的这个例子:

public class SystemService{
	private SystemDao;
	set 和get方法;
}
public interface SystemDao{
	......
}
public class SystemDaoImpl implements SystemDAO{
	......
}

在spring中通过配置完成注入
相关代码如下:

aaaaa

dao1和 dao2分别是dao中的实现类,通过配置文件进行依赖注入的控制,减少了service与dao之间的耦合,当需要更换实现类时,无需更改service 和dao的代码,只需改动ref的配置即可

2 。构造器注入

3 。 接口注入(spring不支持,了解)

spring还提供了注解方式的注入-@autowired 自动注入

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值