IOC就是控制反转,是指程序将创建对象的控制权转交给Spring框架进行管理,由Spring通过java的反射机制根据配置文件在运行时动态的创建实例,并管理各个实例之间的依赖关系。

对象与对象之间松散耦合,有利于功能的扩展和复用。

DI就是依赖注入,和控制反转是同一个概念的不同角度的描述,它是指程序在运行时由IoC容器来动态注入对象需要的外部依赖。

Spring的IOC有两种注入方式 :xml注入、注解注入。

xml注入bean的几种方式:

  • set()方法注入;
  • 构造器注入:①通过index设置参数的位置;②通过type设置参数类型;
  • 静态工厂注入;
  • 实例工厂;

注解注入bean的几种方式:

1、@Autowired是自动注入,自动从spring的上下文找到合适的bean来注入,@Autowired默认按类型匹配注入Bean,自动装配可能存在的问题,一个类型有多个对象,自动装配不知道装配哪个对象

2、@Resource要求提供一个Bean名称的属性,如果属性为空,自动采用标注处的变量名和方法名作为Bean的名称 。@Resource默认按名称匹配注入Bean

3、@Qualifier 指定注入bean的名称

4、@Service,@Controller,@Repository,@Component则是用来修饰类,spring扫描注解配置时,会标记这些类要生成bean。

Spring的IoC是什么?相关推荐

  1. Spring 实践 -IoC

    Spring 实践 标签: Java与设计模式 Spring简介 Spring是分层的JavaSE/EE Full-Stack轻量级开源框架.以IoC(Inverse of Control 控制反转) ...

  2. [Spring 深度解析]第6章 Spring的IoC容器系列

    6. Spring的IoC容器系列 ​ IoC容器为开发者管理对象之间的依赖关系提供了很多便利和基础服务.有许多IoC容器供开发者选择,SpringFramework的IoC核心就是其中一个,它是开源 ...

  3. Spring 容器IOC解析及简单实现

    这篇文章来自极客学院 : Spring 容器IOC解析及简单实现 最近一段时间,"容器"两个字一直萦绕在我的耳边,甚至是吃饭.睡觉的时候都在我脑子里蹦来蹦去的.随着这些天一次次的交 ...

  4. spring框架ioc(控制反转)第二讲

    配置applicationContext.xml: spring的ioc容器的配置文件:applicationContext.xml(默认名称) 配置schema约束: http://www.spri ...

  5. Spring中IoC的入门实例

    Spring的模块化是很强的,各个功能模块都是独立的,我们可以选择的使用.这一章先从Spring的IoC开始.所谓IoC就是一个用XML来定义生成对象的模式,我们看看如果来使用的. 数据模型 1.如下 ...

  6. 使用 spring 的 IOC 解决程序耦合——获取spring的Ioc核心容器,并根据id获取对象、核心容器的两个接口(ApplicationContext、BeanFactory)引发出的问题

    IOC概念和spring中的IOC 明确 ioc 的作用: 削减计算机程序的耦合(解除我们代码中的依赖关系). 使用 spring 的 IOC 解决程序耦合 获取spring的Ioc核心容器,并根据i ...

  7. Spring(IOC+AOP)

    Spring 容器(可以管理所有的组件(类))框架:        核心关注:IOC和AOP: Test:Spring的单元测试模块: spring-test-4.0.0.RELEASE Core C ...

  8. Spring(二)——IoC

    IoC(Inversion of Control)称之为控制反转,指的是在Spring框架的配置文件中声明对象,由框架负责创建对象,这叫做控制反转.实现方式有两种:DI(Dependency Inje ...

  9. 框架:简单实现Spring的IOC容器

    学习过Spring的同学都知道,Spring框架的核心就是IoC和AOP.Spring可以理解为一个工厂,负责对象的创建和对象间关系的维护.IoC即控制反转,简单点说就是原来的对象是在要使用之前通过在 ...

  10. Spring-学习笔记03【Spring的IOC和DI】

    Java后端 学习路线 笔记汇总表[黑马程序员] Spring-学习笔记01[Spring框架简介][day01] Spring-学习笔记02[程序间耦合] Spring-学习笔记03[Spring的 ...

最新文章

  1. java读取配置文件的几种方法
  2. N4 接口是 5G 产业价值的金线
  3. 手机main.html文件,tab-main.html
  4. mysql skip_counter_mysql的三个故障解决小结
  5. 开发者如何快速精简容器云镜像?| 技术头条
  6. 计算机应用的时间地点意义,计算机应用在教学中的作用
  7. AsyncTask类浅析
  8. python中spider的用法_python网络爬虫 CrawlSpider使用详解
  9. 烟花视频软件测试,基于视频分析的烟火自动检测预警系统
  10. 终于有人把 5G 和边缘计算的关系说清楚了! | 技术头条
  11. 软考每日一练||网络工程师
  12. 知识分享!什么是中继器?-道合顺大数据Infinigo
  13. Python3-正则表达式~爬取猫眼电影应用
  14. 如何执行 Visual Paradigm 的静默安装丨安装教程
  15. 你的名字烂大街了吗?数据揭开国人起名背后的秘密……
  16. 积木开发系列----Blockly初体验
  17. Clickhouse 分析分布式表的各类指标
  18. java sqlserver 插入数据_java中怎样向SQLserver中插入数据
  19. duet连win10_duet display windows
  20. 【OpenGL】十八、OpenGL 绘制多边形 ( 绘制 GL_POLYGON 模式多边形 )

热门文章

  1. python random函数
  2. 探索setTimeout
  3. 高考期间,我们初中毕业了
  4. System.Runtime.InteropServices.COMException (0x80004005): 无法创建目录或文件
  5. Sort Colors - LeetCode
  6. 字典(dict)作业
  7. WPF 控件专题 DockPanel 控件详解
  8. 2016,不忘初心;2017,方得始终!
  9. 百度快照回档的因素及百度快照回档并不可怕
  10. Metanet 开发者指南