首页 > 代码库 > Spring学习笔记之The IoC container
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
主要是干什么事情的呢?
ApplicationContext
主要是干什么事情的呢?1、更好地于AOP进行集成,这个没感受到,不会是假的吧?
2、信息资源处理,国际化?这个主要是因为ApplicationContext
还继承了另外一个接口吧,MessageSource 。
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和他们之间的依赖关系,是由容器的元数据来展现的。
Spring学习笔记之The IoC container
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。