码迷,mamicode.com
首页 > 编程语言 > 详细

spring源码分析

时间:2018-01-21 23:56:23      阅读:202      评论:0      收藏:0      [点我收藏+]

标签:基础   编程   实现   协同   之间   构建   就是   上层   操作   

spring有三个核心包:bean,core,Context,这三个包是上层特性功能的基础。

1、spring的设计理念

上面介绍了spring的三个核心组件,如果要在它们中选出核心,那么非bean组件了。spring就是面向bean编程。

Bean在spring中的作用就像Object对OOP的意义一样,

spring解决了一个非常关键的问题,它可以让你把对象之间的依赖关系转而用配置文件管理,也就是他的依赖注入机制,

而这个注入关系在一个叫Ioc的容器中管理,那么在Ioc容器中又是什么?

就是被Bean包裹的对象。spring正是通过把对象包装在Bean中从而达到管理这些对象及做一系列额外操作的目的的。

它这种设计策略完全类似于java实现OOP的设计理念,当然java本身的设计要比Spring复杂太多太多,但是他们都是构建一个数据结构,

然后根据这个数据结构设计他的生存环境,并让它在这个环境中按照一定的规律不停的运动,在它们不停运动中设计一个系列与环境

或者与其他个体完成信息交换。这样想来我们用到其他光剑大概都是类似的设计理念。

2、核心组件如何协同工作

前面说bean是spring中的关键因素,那么Context和Core又有何作用呢?前面把Bean比作一场演出中的演员,Context就是这场演出的舞台背景,而core应该就是演出的道具了。

我们知道bean包装的是Object。而Object必然有数据,如何给这些数据提供生存环境就是Context要解决的问题,对Context来说他就是要发现每个bean之间的关系,为他们建立这种关系

并且维护好这种关系。所以Context就是一个bean关系的集合,这个关系集合又叫Ioc容器,一旦建立起这个Ioc容器,Spring就可以为你工作了。Core组件有什么用武之地呢?

其实Core就是发现、建立和维护每个Bean之间的关系所炫需要的一系列工具,从这个角度来看,把Core组件叫做Util更能让你理解。

3、Bean组件

前面已经说明了Bean组件对spring的重要性,下面看看Bean组件是怎么设计的。bean组件在beans包下。

在这个包下所有类主要解决了3件事:Bean的定义、Bean的创建、对bean的解析。

对Spring的使用者来说唯一需要关心的就是Bean的创建,其他两个由Spring在内部帮你完成,对你来说是透明的。

 

spring源码分析

标签:基础   编程   实现   协同   之间   构建   就是   上层   操作   

原文地址:https://www.cnblogs.com/wangpin/p/8325850.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!