美文网首页
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