美文网首页
Spring Framework概览

Spring Framework概览

作者: ihuangweiwei | 来源:发表于2019-06-16 15:00 被阅读0次

Spring Framework模块体系

spring-overview.png

在我们谈论Spring框架的时候,我们主要讨论的是IOCAOP两块,所以从源码解析角度出发,我们这里主要关注以下两块:

  • Core Container
    这块也就是IOC的实现模块。我们需要清除其中包括的4个模块具体的分工。

    • Core:是核心工具类,就像我们平时分模块的时候,会封装统一工具类,方便到时候其它模块引用,避免反复造轮子。
    • Beans:这里是IOC的核心实现,涉及了配置文件的访问,还有主要对Bean的管理。
    • Context:该模块就是基于CoreBeans模块,在继承Beans的特性的同时,提供了大量的核心扩展:国际化、事件传播、资源价值等。其中引入了ApplicationContext接口更是关键。也实现了对IOC容器的具体应用,有我们熟悉的Cache、RMI、Schedule、Validation等。
    • SpEL:表达式语言,也是我们经常忽视的一块,但如果自己写框架(指基于Spring生态构建的),这块还是很重要的,比如:jetcache(这里一些的动态功能,主要也是通过注解中表达式语言的应用)。
  • AOP
    面向方面的编程。Core Container更关注的是对实例纵向的定制,不断的扩展单个Bean实例的能力,而我们需要对广度的操作,就需要通过AOP,从全局把控的角度出发,比如:事务的应用、统一日志、分布式框架中的追踪链埋点。

其它模块简述

  • Data Access/Integration
    主要包括JDBC、ORM、OXM、JSM和Transaction模块,这些建议后期自己分析学习

  • Web
    也就是我们熟悉的Spring MVC

总结

Spring主要还是IOCAOP两块,这两块通过不同的扩展点,让Spring框架做到了包罗万象,也是Spring生态圈蓬勃发展到现在的关键。

随着技术的发展,框架的使用越来越简单,但还是需要真正熟悉Spring源码,才能做到随心所欲的扩展(埋点),后续写通用工具类简化代码,避免反复的Ctrl+CCtrl+V

后续我们通过阅读郝佳Spring源码深度解析和工作中切实案例结合分析Spring中IOCAOP两块源码。

相关文章

网友评论

      本文标题:Spring Framework概览

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