Spring的IoC是什么?
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是什么?相关推荐
- Spring 实践 -IoC
Spring 实践 标签: Java与设计模式 Spring简介 Spring是分层的JavaSE/EE Full-Stack轻量级开源框架.以IoC(Inverse of Control 控制反转) ...
- [Spring 深度解析]第6章 Spring的IoC容器系列
6. Spring的IoC容器系列 IoC容器为开发者管理对象之间的依赖关系提供了很多便利和基础服务.有许多IoC容器供开发者选择,SpringFramework的IoC核心就是其中一个,它是开源 ...
- Spring 容器IOC解析及简单实现
这篇文章来自极客学院 : Spring 容器IOC解析及简单实现 最近一段时间,"容器"两个字一直萦绕在我的耳边,甚至是吃饭.睡觉的时候都在我脑子里蹦来蹦去的.随着这些天一次次的交 ...
- spring框架ioc(控制反转)第二讲
配置applicationContext.xml: spring的ioc容器的配置文件:applicationContext.xml(默认名称) 配置schema约束: http://www.spri ...
- Spring中IoC的入门实例
Spring的模块化是很强的,各个功能模块都是独立的,我们可以选择的使用.这一章先从Spring的IoC开始.所谓IoC就是一个用XML来定义生成对象的模式,我们看看如果来使用的. 数据模型 1.如下 ...
- 使用 spring 的 IOC 解决程序耦合——获取spring的Ioc核心容器,并根据id获取对象、核心容器的两个接口(ApplicationContext、BeanFactory)引发出的问题
IOC概念和spring中的IOC 明确 ioc 的作用: 削减计算机程序的耦合(解除我们代码中的依赖关系). 使用 spring 的 IOC 解决程序耦合 获取spring的Ioc核心容器,并根据i ...
- Spring(IOC+AOP)
Spring 容器(可以管理所有的组件(类))框架: 核心关注:IOC和AOP: Test:Spring的单元测试模块: spring-test-4.0.0.RELEASE Core C ...
- Spring(二)——IoC
IoC(Inversion of Control)称之为控制反转,指的是在Spring框架的配置文件中声明对象,由框架负责创建对象,这叫做控制反转.实现方式有两种:DI(Dependency Inje ...
- 框架:简单实现Spring的IOC容器
学习过Spring的同学都知道,Spring框架的核心就是IoC和AOP.Spring可以理解为一个工厂,负责对象的创建和对象间关系的维护.IoC即控制反转,简单点说就是原来的对象是在要使用之前通过在 ...
- Spring-学习笔记03【Spring的IOC和DI】
Java后端 学习路线 笔记汇总表[黑马程序员] Spring-学习笔记01[Spring框架简介][day01] Spring-学习笔记02[程序间耦合] Spring-学习笔记03[Spring的 ...
最新文章
- java读取配置文件的几种方法
- N4 接口是 5G 产业价值的金线
- 手机main.html文件,tab-main.html
- mysql skip_counter_mysql的三个故障解决小结
- 开发者如何快速精简容器云镜像?| 技术头条
- 计算机应用的时间地点意义,计算机应用在教学中的作用
- AsyncTask类浅析
- python中spider的用法_python网络爬虫 CrawlSpider使用详解
- 烟花视频软件测试,基于视频分析的烟火自动检测预警系统
- 终于有人把 5G 和边缘计算的关系说清楚了! | 技术头条
- 软考每日一练||网络工程师
- 知识分享!什么是中继器?-道合顺大数据Infinigo
- Python3-正则表达式~爬取猫眼电影应用
- 如何执行 Visual Paradigm 的静默安装丨安装教程
- 你的名字烂大街了吗?数据揭开国人起名背后的秘密……
- 积木开发系列----Blockly初体验
- Clickhouse 分析分布式表的各类指标
- java sqlserver 插入数据_java中怎样向SQLserver中插入数据
- duet连win10_duet display windows
- 【OpenGL】十八、OpenGL 绘制多边形 ( 绘制 GL_POLYGON 模式多边形 )