IoC容器(底层原理)
IoC(概念和原理)
1,什么是IoC
(1)控制反转,把对象创建和对象之间的调用过程,交给Spring进行管理
(2)使用IoC目的:为了降低耦合度
(3)做入门案例就是IoC实现
2,IoC底层原理
(1)xml解析、工厂模式、反射
3,画图讲解Ioc底层原理
工厂模式(解耦合)
目的降低耦合度到最低
IoC过程 第一步 xml配置文件,配置创建的对象
<bean id="" class="com.company.UserDao"></bean>
第二步 有service类和dao类 创建工厂类
class UserFactory{
public static UserDao getDao() {
String classValue = class属性值;//1,xml解析
Class clazz = Class.forName(classValue);//2,通过反射创建对象
return (UserDao)clazz.newInstance();
}
}
上面这一过程进一步降低耦合度
IoC(接口):
1,IoC思想基于IoC容器完成,IoC容器底层就是对象工厂
2,Spring提供IoC容器实现的两种方式:(两个接口)
(1)BeanFactory:IoC容器基本实现方式(内置),是Spring内部使用接口,不提供给开发人员进行使用
*加载配置文件时候不会创建对象,在获取对象(使用对象)时候才会创建对象
(2)ApplicationContext:BeanFactory接口的子接口,提供了更多更强大的功能,一般面向开发人员使用 (加载spring配置文件,获取配置创建的对象等)
*加载配置文件时候就会在配置文件对象时进行创建 (有些耗费资源的过程都在配置时完成)
3,ApplicationContext接口有实现类
最新文章
- jQuery LigerUI系列:ligerComboBox
- Python中对时间日期的处理方法简单汇总
- 关于APK签名的一些东西
- 【HDU1257】最少拦截系统(贪心)
- BFC 神奇背后的原理
- Linux按键驱动程序设计详解---从简单到不简单【转】
- php学习,一个简单的Calendar(2) 一个简单的活动页面
- RichtextBox 行和列
- Hibernate学习之hibernate执行顺序
- 教你pomeloclient包libpomelo增加cocos2d-x 3.0工程(Windows、Android、IOS平台)
- 事件聚合IEventAggregator和 Ihandle<;T>;
- 【PDF单页转化为图片输出 注意:英文或图片类的PDF可转化,中文抛异常】
- 微信小程序开发流程
- MVC 路由设置伪静态
- Java-byte[]与16进制字符串互转
- hdfs存取文件机制
- stun/turn/ice学习笔记
- BootstrapTable-导出数据
- DPDK - gsg文档(介绍与编译)
- mysql操作数据表中的记录1