博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
IOC容器简介
阅读量:2222 次
发布时间:2019-05-08

本文共 975 字,大约阅读时间需要 3 分钟。

前言

上一篇我们对Spring进行了一个简单的概述了解到Spring框架的两大核心模块:IOC容器和AOP源码分析首先从IOC容器开始,之后再来看AOP这一篇我们先来了解一下什么是IOC容器,以及IOC容器的功能

依赖反转

1)正常开发模式(非依赖反转)

正常的,合作对象的引用或依赖关系的管理由具体对象来完成(持有被引用的对象),这导致了代码高度耦合并且降低了代码的可测试性

2)依赖反转,反转了什么

所谓依赖反转(控制反转),其实是依赖对象的获得被反转了,所以也被称作依赖注入

3)依赖反转的开发模式

在Spring框架中,IOC容器是依赖控制反转模式实现的载体将对象的依赖注入交给框架或IOC容器来完成,解耦代码的同时提高了代码的可测试性

IOC容器

4)注入方式

IOC容器可以在对象生成或初始化时直接将数据注入到对象中也可以通过将对象引用注入到对象数据域中的方式来注入对方法调用的依赖这种依赖注入是可递归的,对象被逐层注入

5)使用IOC容器的优点

IOC容器将对象的依赖关系有序地建立起来简化了对象依赖关系的管理和面向对象系统的复杂性应用控制反转后,当对象被创建时,由一个IOC容器将依赖对象注入到对象中所以,控制反转是关于一个对象如何获取它锁依赖对象的引用,这里的反转指的是责任的反转通过使用IOC容器,对象依赖关系的管理被反转到了IOC容器中对象之间的相互依赖关系由IOC容器进行管理,并由IOC容器完成对象的注入在很大程度上简化了应用的开发,把应用从复杂的对象依赖关系管理中解放出来如果将面向对象系统中的对象进行简单的分类,会发现除了一部分是数据外,其他大多数对象时用来处理数据的这些对象并不常发生变化,是系统中的基础部分很多情况下,这些对象在系统中以单件的行书起作用就可以满足应用的需求,且不常涉及数据和状态

IOC容器:就是具有依赖注入功能的容器,是可以创建对象的容器,IOC容器负责实例化、定位、配置应用程序中的对象及建立这些对象间的依赖。通常new一个实例,控制权由程序员控制,而"控制反转"是指new实例工作不由程序员来做而是交给Spring容器来做。。在Spring中BeanFactory是IOC容器的实际代表者。

  DI(依赖注入Dependency injection) :在容器创建对象后,处理对象的依赖关系。

转载地址:http://dbvfb.baihongyu.com/

你可能感兴趣的文章
【托业】【新东方托业全真模拟】TEST05~06-----P5~6
查看>>
【托业】【新东方托业全真模拟】TEST09~10-----P5~6
查看>>
【托业】【新东方托业全真模拟】TEST07~08-----P5~6
查看>>
solver及其配置
查看>>
JAVA多线程之volatile 与 synchronized 的比较
查看>>
Java集合框架知识梳理
查看>>
笔试题(一)—— java基础
查看>>
Redis学习笔记(三)—— 使用redis客户端连接windows和linux下的redis并解决无法连接redis的问题
查看>>
Intellij IDEA使用(一)—— 安装Intellij IDEA(ideaIU-2017.2.3)并完成Intellij IDEA的简单配置
查看>>
Intellij IDEA使用(二)—— 在Intellij IDEA中配置JDK(SDK)
查看>>
Intellij IDEA使用(三)——在Intellij IDEA中配置Tomcat服务器
查看>>
Intellij IDEA使用(四)—— 使用Intellij IDEA创建静态的web(HTML)项目
查看>>
Intellij IDEA使用(五)—— Intellij IDEA在使用中的一些其他常用功能或常用配置收集
查看>>
Intellij IDEA使用(六)—— 使用Intellij IDEA创建Java项目并配置jar包
查看>>
Eclipse使用(十)—— 使用Eclipse创建简单的Maven Java项目
查看>>
Eclipse使用(十一)—— 使用Eclipse创建简单的Maven JavaWeb项目
查看>>
Intellij IDEA使用(十三)—— 在Intellij IDEA中配置Maven
查看>>
面试题 —— 关于main方法的十个面试题
查看>>
集成测试(一)—— 使用PHP页面请求Spring项目的Java接口数据
查看>>
使用Maven构建的简单的单模块SSM项目
查看>>