Spring学习笔记之The IoC container
IoC is also known as dependency injection (DI). 这是一个过程?什么样的过程呢?对象自己定义它的依赖关系,这意味着,那些他们依赖的对象,只能通过构造函数参数,工厂方法参数或用set方法在它被创建出来后给予。Srping容器在创建这些对象的时候就注入这些依赖项。控制反转到底是什么东西呢?说白了其实就是以前我想吃饭,我需要自己找饭馆,自己找座位,自己下单子,最后才能吃上饭,现在呢?有了spring的容器,你就不需要去找了,要什么给什么,它都替你搞定,不需要四处找了,全给你包了,这就是控制反转。以前取决于你找没找到,现在取决于你要没要。
SpringIOC容器有两个基础包,哪两个基础包呢?org.springframework.beans
和org.springframework.context
packages
org.springframework.beans
这个包里边的factory子包下有个BeanFactory
,这个是个顶级接口,定义了一堆getBean方法
org.springframework.context
这包里边有个ApplicationContext
,它继承了两个接口ListableBeanFactory,和HierarchicalBeanFactory,这两个呢?都继承至BeanFactory。
ApplicationContext
主要是干什么事情的呢?
1、更好地于AOP进行集成,这个没感受到,不会是假的吧?
2、信息资源处理,国际化?这个主要是因为
ApplicationContext
还继承了另外一个接口吧,MessageSource 。
3、
事件发布,这个是因为继承了ApplicationEventPublisher。
4、application-layer specific contexts such as the WebApplicationContext
for use in web applications.这点指的是这个接口吧?ResourcePatternResolver
又总之了,BeanFactory
提供的是框架的基本配置和基本功能(基本功能有哪些呢?getBean、containsBean、isSingleton、isPrototype、isTypeMatch、getType、getAliases也就这7个基本功能);ApplicationContext
增加了更多的企业级开发功能,基本上就是一个BeanFactory的完全集,也是,继承了那么多接口,这个也是我们经常用到的。
在Spring中,对象是形成应用的基石,而哪些被spring容器管理的对象被称为beans,如果没被管理,那是不是不能称为bean呢?
一个bean是一个被spring容器管理的对象,从他被创建装配到销毁都要被spring容器管理。换句话说,一个bean只是你应用中众多对象中的一个,beans和他们之间的依赖关系,是由容器的元数据来展现的。
最新文章
- 【转】What is an SDET? Part 2 – Skill Matrix of SDET
- [转载]:fortran之format格式化输出总结
- 怒刷DP之 HDU 1069
- 对 APM 用户的一次真实调查分析(上)
- Hibernate的查询语言之HQL(一)——快速入门
- Golang Linux Shell编程(一)
- 监控glusterfs
- 在已经安装的nginx上,增加ssl模块
- usrp使用
- 潭州课堂25班:Ph201805201 第八课:函数基础和函数参数 (课堂笔记)
- 二分图最大匹配|UOJ#78|匈牙利算法|边表|Elena
- 【中文分词系列】 4. 基于双向LSTM的seq2seq字标注
- apt-get 命令加 autoclean clean autoremove 区别
- Sql Server数据库监听 c#代码
- 51nod算法马拉松28-a
- cv::Mat到YUV420的转换《转》
- 【翻译】JavaScript循环和作用域
- 从一道简单的dp题中学到的...
- lucene整理3 -- 排序、过滤、分词器
- HDU - 6096 处理后缀的字典树
热门文章
- insert into 和 where not exists
- SublimeText3常用快捷键和优秀插件(亲测)
- python字典按照value进行排序.bak
- testNG 学习笔记 Day 1 使用功能详解
- JavaMail直接发送邮件
- Qt5.3.2(VS2010)_调试_进入Qt源码
- [库][c++]tinyxml2使用小结
- HDU 6090 Rikka with Graph
- C# ref和out的本质
- Java实现日历小程序【代码】