Spring入门(三)之IoC
一、IoC定义
IoC,即控制反转。开发者在使用类的实例之前,需要先创建对象的实例。但是IoC将创建实例的任务交给IoC容器,这样开发应用代码时只需要直接使用类的实例,这就是IoC。在讨论控制反转这个概念的过程中,Martin Fowler提出了一个更为准确的概念,叫做依赖注入(Dependency Injection)。
二、依赖注入的类型
(1)设值注入
IoC容器使用成员变量的setter方法来注入被依赖对象
<bean class="com.mk.User"><property name="username">zhangsan</property>
</bean>
(2)构造注入
IoC容器使用构造器来注入被依赖对象
<bean class="com.mk.User"><constructor-arg >zhangsan</property>
</bean>
(3)接口注入
Spring没有实现接口注入,接口注入和属性注入的功能差不多,但接口使得项目的类数量变多,现如今不推崇使用接口注入
<bean id="addressBean" class="com.mk.Address"><property name="addr" value="China"/>
</bean>
<bean class="com.mk.User"><property name="address" ref="addressBean"/>
</bean>
User类
class User{private String username;private IAddress address;public User(){}public User(String username){this.username=username;}public void setUsername(String username){this.username=username;}public void setAddress(IAddress address){this.address=address;}
}
IAddress类
class IAddress{public void setAddr(String addr);public String getAddr();
}
Address类
class Address extends IAddress{private String addr;public void setAddr(String addr){this.addr=addr;}public String getAddr(){return addr;}
}
Spring入门(三)之IoC相关推荐
- Java程序员从笨鸟到菜鸟之(七十)细谈Spring(三)IOC和spring基本配置详解
对于IoC 的一些知识点,相信大家都知道他在spring框架中所占有的地位,应该可以算的上是核心之一吧,所以IOC是否理解清楚,决定了大家对Spring整个框架的理解 Ioc的理解 spring 的两 ...
- Spring——入门介绍(以版本5.2为例)
目录 1.Spring框架概述 2.Spring入门案例 3.IoC介绍 (1)IoC概述 (2)IoC底层原理 (3)IoC接口 4.IoC操作--Bean 管理 (1)Bean 管理概述 (2)B ...
- Spring入门(四):使用Maven管理Spring项目
让我们先回顾下本系列的前3篇博客: Spring入门(一):创建Spring项目 Spring入门(二):自动化装配bean Spring入门(三):通过JavaConfig装配bean 1.为什么要 ...
- Spring(二)IOC容器的初始化流程
文章目录 一.Spring 核心容器类 1.1 BeanFactory 1.2 ApplicationContext 1.3 BeanDefinition 二.IOC容器的初始化 2.1 基于Xml的 ...
- Spring入门 IOC/DI基础案例
目录 前言 一.创建set方法让外部进行方法提供 二.配置文件 三.实际运行 前言 书接上回:Spring入门-ioc基础案例代码_年关的博客-CSDN博客 我们通过Spring方式进行了对象创建,但 ...
- Spring入门详细教程(三)
前言 本篇紧接着spring入门详细教程(二),建议阅读本篇前,先阅读第一篇和第二篇.链接如下: Spring入门详细教程(一) https://www.cnblogs.com/jichi/p/101 ...
- Spring入门介绍:
Spring入门介绍 Spring诞生: 创建Spring的目的就是用来替代更加重量级的的企业级Java技术 简化Java的开发 基于POJO轻量级和最小侵入式开发 通过依赖注入和面向接口实现松耦合 ...
- Spring入门5.事务管理机制
Spring入门5.事务管理机制 20131126 代码下载 : 链接: http://pan.baidu.com/s/1kYc6c 密码: 233t 回顾之前的知识,Spring 最为核心的两个部分 ...
- spring入门总结
spring入门总结 一.spring介绍 1.spring是什么 2.理念: 3.Spring优点: 4.缺点 5.主要内容: 二.IOC&DI 1.使用IOC创建对象的三种方法 a.无参构 ...
- java-12:spring MVC - 控制反转IOC,依赖注入DI
学习spring框架之前,先理解几个概念: 1.第一部分:依赖倒置原则 2.第二部分:控制反转,控制反转容器(实例) 3.第三部分:控制反转,控制反转容器(全面理解,面试题) 综合性理解:控制反转(I ...
最新文章
- 周末不用过来了,好好休息吧_如何好好休息
- windows上的svn服务器迁移到linux
- 从HarmonyOS应用到底是不是Android套壳?
- (翻译)Real-UID,Effective-UID,Saved-UID区别
- Spark SQL之jdbc方式访问
- php将代码上传至服务器步骤
- python的变量名必须以什么开头_python以下划线开头的变量名含义
- 比特飞使用的是什么主题
- 95-260-055-源码-检查点-Savepoint 和 Checkpoint的异同
- #if、#ifdef、#if defined之间的区别
- lopatkin俄大神Windows精简版系统安装注意事项及恢复OneDrive
- Java Se 、JavaEE、JavaME区别
- 行测题相关,在线测评(图形找规律。逻辑思维)
- input隐藏边框、设置透明背景色
- 理解蓝绿发布、灰度发布和滚动发布
- 学习笔记---高等数学前置知识---约分、通分
- 计算机用户删除文件找回,电脑删除的文件怎么找回?失易得数据恢复帮助找回...
- dubbo注册服务5秒一个解决办法
- jQuery——小案例:点击图片放大缩小
- sass安装步骤、概述、基本语法等
热门文章
- linux strcpy函数实现,strcpy(char *dest , char *src)的漏洞
- P3978 [TJOI2015]概率论(生成函数)
- Ozon Tech Challenge 2020 (Div.1 + Div.2, Rated) D. Kuroni and the Celebration 交互 + 思维
- Codeforces Round #624 (Div. 3) D. Three Integers 数论
- P2831 [NOIP2016 提高组] 愤怒的小鸟 状压dp
- 常系数齐次线性递推学习笔记
- P2305 [NOI2014]购票
- Moving On Gym - 102222F
- 牛客网【每日一题】5月8日题目精讲 codeJan与旅行
- P6620 [省选联考 2020 A 卷] 组合数问题(斯特林数、下降幂)