Spring 的IOC和DI
IOC:IOC其实就是一种容器,该容器会主动的将资源推送给他所管理的组件,
组件所要做的仅是一种合适的方式来接受资源,这种行为也被称为查找的被动形式!
IOC的反转控制:传统应用程序是由我们自己在对象中主动控制去直接获取依赖对象,也就是正转;而反转则是由容器来帮忙创建及注入依赖对象;为何是反转?因为由容器帮我们查找及注入依赖对象,对象只是被动的接受依赖对象,所以是反转
ID:组件以预定好的方式接受来自容器的资源注入,相对IOC而言表达更加清新
Spring IOC容器读取bean 配置创建BEAN实例之前,必须对他进行实例化,只有在容器实例化后,才可以从
IOC容器里获取BEAN实例并使用。
Spring提供两种IOC容器实现:
BeanFactory是IOC容器的基本实现
ApplicationContext:提供了更加高级的特性,是BeanFactory的子接口
BeanFactory是Spring框架的基础设施,面向Spring本身;
ApplicationContext面向使用Spring框架的开发者,几乎所有的应用场合都直接使用ApplicationContext而非底
层的BeanFactory
package com.spring.test;
import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;
import com.spring.classs.Test;
public class Spring1 {
public static void main(String[] args){
//1.创建Spring的IOC容器对象
//ApplicationContext 代表IOC容器,且必须要在创建BEAN实例之前
ApplicationContext ctx = new ClassPathXmlApplicationContext("applicationContext-Spring.xml");
//2.从IOC容器中获取BEAN
Test test =(Test)ctx.getBean("test");
//3.调用方法
test.hellod();
}
}
最新文章
- 按钮打开链接,按钮click代码
- 表单元素的写法及与后台php的交互
- mysql水平拆分与垂直拆分的详细介绍(转载http://www.cnblogs.com/nixi8/p/4524082.html)
- 使用ASP.Net WebAPI构建REST服务(三)——返回值
- Spring处理器
- FZU 2169 shadow (用了一次邻接表存边,树形DP)
- Java 编程的动态性, 第4部分: 用 Javassist 进行类转换--转载
- 【剑指offer】最小的k的数量
- Python json解析
- 数据库CAST()函数和CONVERT()函数比较
- 2018-2019 20165221 网络对抗 Exp5 MSF基础
- 使用NOPI写入Excel基础代码
- 8、Zookeeper分布式锁
- [转帖]windows+xshell+xming访问非桌面版Linux服务器
- MVC和WebForm区别
- HDU 1536 S-Nim (组合游戏+SG函数)
- js 退后一步并刷新,window.history.back(-1);这个只能后退一步不能刷新,
- 洛谷 P1850 换教室 解题报告
- 《Cracking the Coding Interview》——第7章:数学和概率论——题目5
- hdu1073
热门文章
- n!最末尾非0数
- Django(六)
- MySQL 面试题目
- windowsclient开发--为你clientsign一个签名证书
- 《随笔》pyqt 获取 TreeWidget 选中项的内容
- APP漏洞自动化扫描专业评测报告(下篇)
- luogu3369 【模板】 普通平衡树 Splay
- [xPlugins] jQuery Contextmenu右键菜单
- javaWeb中URLEncoder.encode编码需要调用两次
- Irrlicht 1.8.4 + Win7 + VC2015 + x64 +OpenGL编译