zoukankan      html  css  js  c++  java
  • spring入门(Ioc的理解)


    spring对依赖的注入理解可以参考这篇:https://www.cnblogs.com/alltime/p/6729295.html

    依赖注入和控制反转
    传统的JavaEE程序中,直接在内部new一个新的对象,来主动的创建依赖对象。这样会导致高耦合。
    而IOC(Inversion of control)是有一个专门的容器来创建一个对象,也就是将创建对象的这个操作移交给了第三方机构。
     
    什么是正转:传统应用程序在自己的对象中主动控制去直接获取依赖对象。
    反转:通过容器来帮忙创建对象以及注入依赖对象。
     
    依赖注入:
    组件之间的依赖关系由容器在运行期决定。就是由容器动态地将某个依赖关系注入到组件中。
    比如对象A需要操作数据库,通过spring,我们只需要告诉spring,需要一个connection,而不是在对象A中写一连串的connection方法。
    至于这个connection如何构造,对象A并不知道。在系统运行时,spring会在适当的时候制造一个connection,将其注入到A中。
     
    理解关键:  谁依赖谁?为什么需要依赖?    谁注入谁?    注入了什么?
    • 应用程序依赖于IOC容器
    • 应用程序需要IOC容器来提供对象需要的外部资源
    • IOC注入应用程序某个对象
    • 注入了某个程序需要的外部资源
     
    所有的类都会在spring容器中登记,告诉spring这个类A是什么东西,需要什么东西(比如类B),然后spring会在系统运行到来的时候把类A需要的类B(外部资源)主动给A,同时也把这个类A交给其他类(比如类C)。所有的类的创建、销毁都是通过spring来控制。
     
    Spring中如何实现IoC的,看看Spring如何作为一个成熟的IoC容器,Spring中其实主要通过两个概念来实现IoC,首先通过XML配置文件,将对象和依赖对象都配置到某个XML文件中,当然该XML文件需要符合Spring指定的规范,然后通过架构中的BeanFactroy类,来自动实现上文所述注入过程
     
    spring对依赖的注入生动理解可以参考这篇:https://www.cnblogs.com/alltime/p/6729295.html
  • 相关阅读:
    linux下shell显示-bash-4.1#不显示路径解决方法
    node 封装db层
    json结构更改的方法 把date有数据的分类
    webpack.config.js
    SQLSERVER 跨服 跨库
    sqlserver2005重新安装(安装汇编错误,安装程序无法连接到数据库服务进行服务配置)
    delete语句与reference约束 FK_subplan_job_id冲突问题,导致job无法删除解决办法
    删除作业计划出错(DELETE语句与 REFERENCE约束"FK_subplan_job_id"冲突。)
    jquery判断checked的三种方法
    SQLSERVER和sybase的差异
  • 原文地址:https://www.cnblogs.com/patatoforsyj/p/9593378.html
Copyright © 2011-2022 走看看