IOC概念和原理
IOC
- 控制反转(反转控制),把对象创建和对象之间的调用过程,交给Spring进行管理
- 使用IOC的目的:
- 为了降低耦合度
IOC底层原理
- xml解析、工厂模式、反射
IOC底层图
Java框架的目的就是降低耦合度,因为Java提倡的是高内聚,低耦合
原始方式
耦合度太高了
怎么解决这个问题?
使用工厂模式
通过工程模式降低Service和dao的耦合度
虽然工程降低了Servcie和Dao的耦合度
但是工厂对他们两个也有耦合
耦合度不可能为0,只能尽可能降低
主要的目的是将耦合度降到最低
IOC解耦的过程
IOC的目的是进一步降低耦合度
怎么做的
第一步:xml文件,配置创建对象
<!-- 配置User对象创建 --> <bean id="user" class="com.ye.User"></bean>
第二步:有service类和dao类,创建工厂类
class UserFactory{
public static UserDao getDao(){
//1.对xml解析获得值
String classValue = class属性值;
//2.通过反射来获取他的对象
Class c = Class.forName(classValue);
//3.将对象创建
return (UserDao)c.newInstance();
}
}
虽然这么写也有耦合度,但是耦合度比上面两种更低
曼迪匹艾公司福利 124人发布