Spring框架-IOC原型
文献种类:专题技术文献;
开发工具与关键技术:IntelliJ IDEA 2020.1.1
作者:卢媛媛;
撰写时间:2021/01/20
1.Spring框架是什么?
①Spring是一个开源的免费的框架(容器)
②Spring是一个轻量级的,非入侵式的框架
③控制反转(IOC)、依赖注入(DI)、面向切面编程(AOP)
④对事务的处理,对框架整合的支持!
总结:Spring就是一个轻量级的控制反转和面向切面编程的框架!
2.Spring-IOC原理
控制反转IOC是一种设计思想,DI(依赖注入)是实现IOC的一种方法,也有人认为DI只是IOC的另一种说法。没有IOC的程序中,我们使用面向对象编程,对象的创建于对象间的依赖关系完全硬编码在程序中,对象的创建由程序自己控制,控制反转后将对象的创建转移给第三方,个人认为所谓控制反转就是:获得依赖对象的方式反转了。
到图3就是我们要实现整个系统所需要完成的全部内容,他们之间已经没有了耦合的关系,对象之间的依赖关系已经降低到了最低程度,参与开发的每一成员只要实现自己的类就可以了!
3.实现一个简单的IOC理论的推导
首先需要新建一个Spring项目,
新建完成后就需要把架包导入进来,然后再创建配置文件,并配置对象,新建包名
然后在新建一个类 UserDaoMysqlImpl
package com.kuang.dao;//自动导包
public class UserDaoMysqlImpl implements UserDao{
public void getUser(){
System.out.println("Mysql获取用户数据");
}
}
在service文件目录下新建一个接口和一个类,使用Set接口实现,之前,程序是主动创建对象,使用Set注入后,程序不再具有主动性,而是变成了被动的接受对象!
这从本质上解决了问题,我们不用再去管理对象的创建了,系统的耦合性大大降低~,可以更加专注的在业务的实现上!
然后创建一个类来接受
最后看运行结果
总结: 我们在类内部主动创建依赖对象,从而导致类与类之间高耦合,难于测试;有了IOC容器后,把创建和查找依赖对象的控制权交给了容器,由容器进行注入组合对象,所以对象与对象之间是 松散耦合,这样也方便测试,利于功能复用,更重要的是使得程序的整个体系结构变得非常灵活。