spring
核心思想—控制反转IOC
一、什么是IOC
-
全称:
Inversion of Control
-
本质:把对象和对象间的调用过程,交给Spring进行管理
二、IOC
底层原理
- xml解析
- 工厂模式
- 反射 — 通过得到类的字节码文件,操作类中的内容
工厂模式解析
通过工厂模式,降低耦合度
// Dao层
class UserDao {
...
}
// Factory工厂层
class UserFactory {
public static UserDao getDao() {
return new UserDao()
}
}
// Service处理层
class UserService {
public void do() {
UserDao dao = UserFactory,getDao()
....
}
}
IOC
过程
- 配置xml文件,配置创建的对象
<bean id="dao"
class="net.duck.spring.ioc.dao.UserDao"></bean>
- 修改工厂类,使用反射
// Factory工厂层
class UserFactory {
public static UserDao getDao() {
String classValue = class属性值 // 通过xml解析获取
Class class = Class.forName(classValue)
return (UserDao)class.newInstance()
}
}
三、IOC
操作
指:
Spring
创建对象Spring
注入,即依赖注入