您的位置:首页 > 编程语言 > Java开发

Spring学习笔记之The IoC container

2014-12-11 23:10 525 查看
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
主要是干什么事情的呢?[/code]

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和他们之间的依赖关系,是由容器的元数据来展现的。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: