首页 > 编程语言 >Spring框架源码结构

Spring框架源码结构

时间:2023-08-25 13:05:33浏览次数:36  
标签:集成 Java 模块 框架 Spring 源码 Context


骑士李四记录:Spring源码解析
Spring是一款用于简化企业级Java应用开发的分层开源框架,它有着强大的扩展、融合能力,善于将各种单层框架完美地糅合在一起,并建立一个完整体系,统一、高效地构造可提供企业级服务的应用系统。
Spring主要分为8大模块:
数据处理模块(Data Access/Integration)、Web模块、AOP(Aspect OrientedProgramming)模块、Aspects模块、Instrumentation模块、Messaging模块、CoreContainer模块和Test模块。

数据处理模块(Data Access/Integration):
模块由JDBC、Transactions、ORM、OXM和JMS等模块组成。JDBC模块提供了不需要编写冗长的JDBC代码和解析数据库厂商特有的错误代码的JDBC-抽象层;Transactions模块支持编程和声明式事务管理;ORM模块提供了流行的Object-Relational Mapping(对象-关系映射)API集成层,包含JPA、JDO和Hibernate等ORM框架;OXM模块提供抽象层,用于支持Object/XML mapping(对象/XML映射)的实现;JMS模块(Java Messaging Service)包含生产和消费信息的功能。

Web模块:
模块由Web、WebSocket、Servlet和Portlet等模块组成
AOP(Aspect OrientedProgramming)模块、
该模块是Spring的代理模块,也是Spring的核心模块,它巧妙地利用了JVM动态代理和CGLIB动态代理面向过程编程,来实现业务零侵入、低耦合的效果
Aspects模块、
该模块提供了与 AspectJ(一个功能强大并且成熟的面向切面编程的框架)的集成,它扩展了Java语言。
Instrumentation模块、
该模块是 Spring 对其他容器的集成及对类加载器的扩展实现,其子模块 spring-instr ument-tomcat实现了Tomcat Instrumentation代理功能
Messaging模块:
该模块是从Spring集成项目(例如 Message、MessageChannel、MessageHandler及其他基于消息应用的基础模块)中抽象出来的,类似于基于注解的Spring MVC编程模块,包含一系列消息与方法的映射注解。
CoreContainer模块:
该模块(也叫Spring核心容器模块)是Spring的根基,由Beans、Core、Context、SpEL四个子模块组成,这四个子模块如下所述。
Beans模块和Core模块提供框架的基础部分,包含IoC(Inversion of Control,控制反转)和DI(Dependency Injection,依赖注入)功能,使用 BeanFactory 基本概念来实现容器对Bean的管理,是所有Spring应用的核心。Spring本身的运行都是由这种Bean的核心模型进行加载和执行的,是Spring其他模块的核心支撑,是运行的根本保证。
Context(包含 Spring-Context和 Spring-Context-Support两个子模块)模块建立在Core模块和 Beans模块的坚实基础之上,并且集成了 Beans模块的特征,增加了对国际化的支持,也支持Java EE特征。ApplicationContext接口是Context模块的焦点。Spring-Context-Support模块支持集成第三方常用库到Spring应用上下文中,例如缓存(EhCache、Guava)、调度Scheduling框架(CommonJ、Quartz)及模板引擎(FreeMarker、Velocity)。
SpEL模块(Spring-Expression Language)提供了强大的表达式语言来查询和操作运行时的对象。
Test模块:
该模块支持通过组合JUnit或TestNG来进行单元测试和集成测试。


标签:集成,Java,模块,框架,Spring,源码,Context
From: https://blog.51cto.com/u_9406185/7229152

相关文章

  • 高并发web开发框架解决方案
    对于大型网站来说,所采用的技术涉及面极其广泛,从硬件到软件、编程语言、数据库、Web服务器、防火墙等各个领域都有了很高的要求,提高系统高并发性能方案措施:减少数据库访问次数,文件和数据库分离,大数据分布式存储,服务器的集群负载均衡,页面缓存的使用,nosql内存数据库代替关系型数据库......
  • 基于springboot城镇保障性住房管理系统
    随着信息技术在管理上越来越深入而广泛的应用,管理信息系统的实施在技术上已逐步成熟。本文介绍了城镇保障性住房管理系统的开发全过程。通过分析城镇保障性住房管理系统管理的不足,创建了一个计算机管理城镇保障性住房管理系统的方案。文章介绍了城镇保障性住房管理系统的系统分析部......
  • 基于SpringBoot的企业资产管理系统
    本企业资产管理系统预期设计的主要功能有用户信息管理、资产分类管理、资产信息管理、资产借出管理、资产归还管理、资产维修管理等模块。通过用户信息管理功能模块,相关使用者可以对用户信息进行管理,比如可以选择修改、删除某位用户,也可以选择增加、查询用户信息。通过资产分类管理......
  • 基于springboot共享汽车管理系统
    随着信息技术在管理上越来越深入而广泛的应用,管理信息系统的实施在技术上已逐步成熟。本文介绍了共享汽车管理系统的开发全过程。通过分析共享汽车管理系统管理的不足,创建了一个计算机管理共享汽车管理系统的方案。文章介绍了共享汽车管理系统的系统分析部分,包括可行性分析等,系统设......
  • 基于springboot工程教育认证的计算机课程管理平台
    随着信息技术在管理上越来越深入而广泛的应用,管理信息系统的实施在技术上已逐步成熟。本文介绍了基于工程教育认证的计算机课程管理平台的开发全过程。通过分析基于工程教育认证的计算机课程管理平台管理的不足,创建了一个计算机管理基于工程教育认证的计算机课程管理平台的方案。文......
  • 基于springboot企业级工位管理系统
    随着信息技术在管理上越来越深入而广泛的应用,管理信息系统的实施在技术上已逐步成熟。本文介绍了企业级工位管理系统的开发全过程。通过分析企业级工位管理系统管理的不足,创建了一个计算机管理企业级工位管理系统的方案。文章介绍了企业级工位管理系统的系统分析部分,包括可行性分析......
  • 解放双手!ChatGPT助力编写JAVA框架! | 京东云技术团队
    亲爱的Javaer们,在平时编码的过程中,你是否曾想过编写一个Java框架去为开发提效?但是要么编写框架时感觉无从下手,不知道从哪开始。要么有思路了后对某个功能实现的技术细节不了解,空有想法而无法实现。如果你遇到了这些问题,看完这篇文章你也能用ChatGPT编写一个简单的JAVA框架。构思清......
  • 基于java极速WEB+ORM 框架:jfinal2.0开发的通用后台管理系统及源码
    final2-common-admin1、基于java极速web开发框架:jfinal2.0开发的通用后台管理系统,包括完整的登录、注册、菜谱管理、厨师管理、餐厅管理等功能2、开发时是基于jdk1.8、tomcat7.0,utf8编码3、运行时请修改配置文件:a_little_config.txt及相应的运行环境:JavaBuildPath、TargetedR......
  • 黄冈市扶贫助农商场系统的设计与实现-计算机毕业设计源码+LW文档
    一、设计(论文)选题的依据(选题的目的和意义、该选题在国内外的研究现状及发展趋势,等)(一)选题目的和意义新世纪初期,随着改革开放的脚步越来越近,在党中央的正确领导下,互联网技术发展迅猛,各种网络基础设施的建设也在加速,5G、人工智能等新兴技术的发展,使人们的需求不断增加,推动着技术的进步......
  • ci框架关闭notice消息提示方法
    ci框架关闭notice消息提示方法:error_reporting(E_ALL^E_NOTICE);//在控制器加上这句即可最好办法在入口文件if(defined('ENVIRONMENT')){switch(ENVIRONMENT){case'development'://error_reporting(E_ALL);/......