zoukankan      html  css  js  c++  java
  • Spring IOC(DI)

     

    个人理解:简单来说,依赖注入 类比 hibernate的二级缓存。  把东西(hibernate-数据【hashmap】,DI-类)集中放进一个容器(内存)中 ,方便其他(hibernate—QL语句、DI—类使用。

    这样hibernate取数据时先从二级缓存找,减少访问数据库,提高效率。某个类依赖注入后,就不用通过new个对象(保存内存堆中)来使用它,直接通过注解从容器中获取,方便管理(使用)对象

    自动扫描

      <context:component-scan base-package="com.ssm"/> (多个包用逗号隔开)
      表明com.ssm包及其子包中,如果某个类的头上带有特定的注解

      @Component,@Repository,@Service,@Controller,就会将这个对象作为Bean注入进Spring容器。

    IOC-反转控制(DI-依赖注入)自我理解

      spring配置文件中扫描注解把Bean注入IOC容器

      需要哪个对象从IOC容器取,然后赋值(注入)。(spring 常用注入方式:属性注入)

      把初始化的数据放入配置文件中,通过注解匹配对应的bean赋值。

      IOC:(通过代理(中介)获取对象或其属性)不需通过程序代码实例化对象。把对象当成bean注入IOC容器。需要什么对象,通过注解从容器获取。

      DI:初始化(赋值)。

      依赖注入和控制反转是对同一件事情的不同描述,从某个方面讲,就是它们描述的角度不同。依赖注入是从应用程序的角度在描述,可以把依赖注入描述完整点:应用程序依赖容器创建并注入它所需要的外部资源;而控制反转是从容器的角度在描述,描述完整点:容器控制应用程序,由容器反向的向应用程序注入应用程序所需要的外部资源。

      IOC:

        实现反转控制,实现代码解耦。

        不需要编码实例对象,而把对象直接放入到 IOC容器中。需要用到某些对象或其属性直接从IOC容器通过注入的方式获取。

        使用注解代替配置文件(预编译报错问题)来注入属性,解耦,方便管理。

      DI:

        IOC容器类似于颜料盒(放置所有颜料的地方),当我们需要画一幅画(实现某些功能),要先用调色板从颜料盒中取所需的颜料(类中注入对象或其属性)。

    个人理解:简单说,依赖注入 类比 hibernate的二级缓存(把东西(hibernate-数据【hashmap】,DI-类)集中放进一个容器(内存)中),方便其他(hibernate—QL语句、DI—类使用

    这样hibernate取数据时先从二级缓存找,减少访问数据库,提高效率。某个类依赖注入后,就不用通过new个对象(保存内存堆中)来使用它,直接通过注解从容器中获取,方便管理(使用)对象

  • 相关阅读:
    mongodb安装与启动
    js数组操作
    js字符串操作
    js原型对象和原型链
    Js 原型对象与原型链
    zepto
    闭包的理解
    JSON与XML的区别比较
    ajax 异步请求四个步骤
    angularJS之项目知识
  • 原文地址:https://www.cnblogs.com/day1day1up/p/10830549.html
Copyright © 2011-2022 走看看