美文网首页
spring源码探索-架构简述

spring源码探索-架构简述

作者: 青芒v5 | 来源:发表于2018-07-12 07:41 被阅读0次

一、为什么要探索spring

spring作为一个广为人知的java框架,相关的介绍烦不胜数。spring对于java程序员来说,个人觉得可以作为一个必知的技术基础,也是面试必问的一个知识点。工作这么久一直没有好好的去看过这个框架,实属惭愧,接下来准备做一个系列的学习探索。

二、看源码的姿势

看一个框架的源码个人觉得最好有下面几个前提,这样看源码会轻松些
1.用过
知道常用的姿势这样看源码的时候才知道它是实现哪块功能的
2.知其原理
先去网上看看对要研究的框架的原理介绍,这样看源码会有个方向,不至于像无头苍蝇般乱撞
3.跟着牛人一起看源码
这个点有则更佳,没有也没关系,无非是增加了源码的阅读难度。一般框架的源码很多,如果自己一头扎进去开始看,势必需要自己抽丝剥茧,需要耐得住性子,是一个很磨炼人的活。所以如果能跟着网上大牛相关的源码解析文章或者书籍来看源码,势必事半功倍。

三、请开始你的表演

好了,现在开始步入正题,本篇作为一个概述性文章,源码探索放在后续文章持续产出,本文主要分为下面几个点

spring的特点

1.方便解耦,简化开发
通过Spring提供的IoC容器,我们可以将对象之间的依赖关系交由Spring进行控制,避免硬编码所造成的过度程序耦合。有了Spring,用户不必再为单实例模式类、属性文件解析等这些很底层的需求编写代码,可以更专注于上层的应用

2.AOP编程的支持
通过Spring提供的AOP功能,方便进行面向切面的编程,许多不容易用传统OOP实现的功能可以通过AOP轻松应付。

3.声明式事务的支持(AOP的一个实现)
在Spring中,我们可以从单调烦闷的事务管理代码中解脱出来,通过声明式方式灵活地进行事务的管理,提高开发效率和质量。

4.方便集成各种优秀框架
Spring不排斥各种优秀的开源框架,相反,Spring可以降低各种框架的使用难度,Spring提供了对各种优秀框架(如Struts,Hibernate、mybatis)等的直接支持。

5.降低Java EE API的使用难度
Spring对很多难用的Java EE API(如JDBC,Redis client)提供了一个薄薄的封装层,通过Spring的简易封装,这些Java EE API的使用难度大为降低。

spring架构一览

spring两大核心

IOC-spring的基石
Core Container里 spring-corespring-beans 包含了IOC的具体实现和依赖注入特性

AOP
基于JVM动态代理/CGLIB的基础上实现了AOP框架,是我们的切面功能更加丰富。我们常用的事务控制就是基于AOP来实现的

Data Access/Integration

数据访问和集成,比如场景JDBC的实现、ORM框架的集成(mybatis)、消息、事务等

WEB

提供了web相关特性,常见的springMVC就是这个模块的具体实现

其它具体介绍可参考 https://docs.spring.io

后续计划

spring的源码很经典也多,有必要看但也没有一股脑全部去看的必要,毕竟时间有限,我计划从下面几个方向去学习
1.spring IOC 实现探索
2.spring AOP 实现探索
3.spring AOP 之事务的具体实现

四、结尾

本文主要介绍了,为什么看spring源码,怎么看源码并对spring做了简答的介绍,以及后续的研究方向,欢迎大家持续关注。

相关文章

网友评论

      本文标题:spring源码探索-架构简述

      本文链接:https://www.haomeiwen.com/subject/wyqlpftx.html