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接口有实现类

      

    

最新文章

  1. jQuery LigerUI系列:ligerComboBox
  2. Python中对时间日期的处理方法简单汇总
  3. 关于APK签名的一些东西
  4. 【HDU1257】最少拦截系统(贪心)
  5. BFC 神奇背后的原理
  6. Linux按键驱动程序设计详解---从简单到不简单【转】
  7. php学习,一个简单的Calendar(2) 一个简单的活动页面
  8. RichtextBox 行和列
  9. Hibernate学习之hibernate执行顺序
  10. 教你pomeloclient包libpomelo增加cocos2d-x 3.0工程(Windows、Android、IOS平台)
  11. 事件聚合IEventAggregator和 Ihandle&lt;T&gt;
  12. 【PDF单页转化为图片输出 注意:英文或图片类的PDF可转化,中文抛异常】
  13. 微信小程序开发流程
  14. MVC 路由设置伪静态
  15. Java-byte[]与16进制字符串互转
  16. hdfs存取文件机制
  17. stun/turn/ice学习笔记
  18. BootstrapTable-导出数据
  19. DPDK - gsg文档(介绍与编译)
  20. mysql操作数据表中的记录1

热门文章

  1. SpringBoot统一日志打印
  2. Android 崩溃错误
  3. 【LeetCode】657. Judge Route Circle 解题报告
  4. FAT
  5. Reproducing Kernel Hilbert Space (RKHS)
  6. 文件挂载(一)- Linux挂载Linux文件夹
  7. Java实习生常规技术面试题每日十题Java基础(三)
  8. MySQL数据库常用命令汇总
  9. spring cloud --- Ribbon 客户端负载均衡 + RestTemplate ---心得【无熔断器】
  10. 简单的sdn防火墙