1.Spring三个核心组件
Spring的三个核心组件,分别是:Bean、Context和Core。它们构建了整个Spring的骨骼框架。没有它们就不可能有AOP、Web等上层的特性功能。
三者的作用:Bean包装的是Object,而Object必然有数据;Context作用:发现每个Bean之间的关系,建立Bean之间的关系并且维护这种关系。所以Context就是一个Bean关系的集合,这个集合又叫IOC容器。Core组件干什么呢?Core就是Context发现,建立,维护Bean之间关系所需要的一系列工具。所以把Core组件叫做Util更能让你理解。
比喻:Bean就像一场演出中的演员;Context是这个演出的舞台背景;Core是演出的道具。
Part1:Bean组件
Bean组件在Spring的org.springframework.beans包下。这个包主要解决3件事:
1.Bean的定义;
2.Bean的创建;
3.Bean的解析。
对使用者来说,唯一需要关注的便是Bean的创建。
设计模式:
Spring Bean创建是典型的工厂模式。
Part2:Context组件
Context组件在Spring的org.springframework.context包下。这个包作用:给Spring提供一个运行时环境,用以保存各个对象的状态。
ApplicationContext是Context的顶级父类。总体来说ApplicationContext必须完成以下几件事情:
1.标识一个应用环境;
2.利用BeanFactory创建Bean对象;
3.保存对象关系表;
4.能够捕获各种事件。(因为继承了ApplicationEventPublisher)
Context作为Spring的IOC容器,基本上整合了Spring的大部分功能。
Part3:Core组件
Core组件作为Spring核心组件之一,包含很多的关键类。其中一个重要的组成部分是定义了资源的访问方式:把所有资源都抽象成一个接口。
设计模式:代理模式、动态代理模式、策略模式:两种代理方式JDK动态代理和CGLIB代理方式。
网友评论