Spring源码深度解析,Spring框架大体介绍(一)(附代码示例:)

Spring框架大体介绍(一)

目录

Spring的整体架构

一, 核心容器(Core Container)

二, AOP和Instrumentation

三, 消息(Messaging)

四, 数据访问/集成(Data Access/ Integration)

五, Web

六, Test

七, 项目Demo地址


Spring的整体架构

Spring 是于2003年兴起的一个轻量级的java 开源框架,Spring是一个全面的解决方案,它坚持一个原则:不从新造轮子。已经有较好解决方案的领域,Spring绝不重复性实现,比如:对象持久化和OR映射,Spring只对现有的JDBC,Hibernate等技术提供支持,使之更容易使用,而不做重复的实现。Spring框架有很多特性,这些特性由7个定义良好的模块构成。

 Spring 框架是一个分层架构,它 包含一系列的功能要素,并被分为大约20个模块,如

Spring源码深度解析,Spring框架大体介绍(一)(附代码示例:)_第1张图片

一, 核心容器(Core Container)

包含模块 spring-core, spring-beans, spring-context, spring-context-supprot,spring-exxpression 

  • spring-core  主要包含Spring框架基本的核心工具类。
  • spring-beans  是框架的基础部分,提供 Ioc (控制反转) 和依赖注入特性。这里的基础概念是  BeanFactory,它提供对Factory 模式的经典 实现来消除对程序性单例模式的需要,并真正地允许你从程序逻辑中分离出依赖关系和配置。
  • spring-context   即Spring上下文容器,它是BeanFactory功能加强的一个子接口,构建与CoreBeans之上,继承了Beans的特性,扩展添加了国际化、时间传播、资源加载和对Context的创建和支持。ApplicationContext
  • spring-exxpression  提供 一个强大的表达式语言用于在运行时查询和操作对象,该语言支持设置/获取属性值,属性的分配,方法的调用,访问数组上下文、容器和索引器、逻辑和算是运算符、命名变量以及从Spring的容器中根据名称检索对象

二, AOP和Instrumentation

包含模块 spring-aop, spring-aspects, spring-instrument, spring-instrument-tomcat

  • spring-aop  即,面向切面编程,它提供了与AOP联盟兼容的编程实现
  • spring-aspects 提供了与 AspectJ 的集成
  • spring-instrument  提供了类工具的支持与classloader的实现,以便在特定的应用服务上使用。
  • spring-instrument-tomcat 包含了spring对于Tomcat的代理

三, 消息(Messaging)

  • spring framework 4 包含了spring-messaging模块,其中使用了来自于spring integration项目的关键抽象,如Message, MessageChannel, MessageHandler等,他们可以作为基于消息的应用服务的基础。该模块还包含了一组可将消息映射到方法的注解,类似于spring-mvc的编程模型.

四, 数据访问/集成(Data Access/ Integration)

包含spring-jdbcspring-txspring-ormspring-oxmspring-jms.

  • spring-jdbc 提供了JDBC抽象层,消除了冗长的JDBC编码和解析数据库厂商特有的错误代码.
  • spring-tx 为实现了特定接口的类提供了可编程的声明式事务管理支持,对所有的POJOs都适用
  • spring-orm 提供了对象相关映射(ORM)集成,包含JPAJDOHibernate,使用spring-orm模块可以将这些框架与spring提供的特性结合在一起使用,比如事务管理.
  • spring-oxm 提供了对Object/Xml Mapping实现的抽象,包括JAXB,CastorXMLBeansJiBX以及XStream.
  • spring-jms 包含了一些生产和消费消息的特性,从spring Framework 4.1开始,提供了与spring-messaging集成.

五, Web

包含spring-webspring-webmvcspring-websocketspring-webmvc-portlet

  • spring-web 提供了基于面向web集成的特性,如多文件上传功能、通过servlet listener初始化IoC容器与面向web的ApplicationContext,它还包含了HTTP客户端与Spring远程支持的web相关的部分.
  • spring-webmvc(又名web-servlet)包含了Spring对于Web应用的MVC与REST实现,Spring MVC框架提供了领域模型代码和Web表单之间的分离,并集成了Spring框架的所有其他特性.
  • spring-webmvc-portlet(又名web-portlet)提供了基于Portlet环境使用MVC的实现.

六, Test

spring-test模块通过Junit或TestNG对spring的组件提供了单元测试和集成测试

七, 项目Demo地址

参考资料:https://blog.csdn.net/u010209217/article/details/80617310

参考资料:  https://docs.spring.io/spring/docs/4.3.18.BUILD-SNAPSHOT/spring-framework-reference/htmlsingle/

Spring源码深度解析,(附代码示例 码云地址: https://gitee.com/Crazycw/SpringCode.git)

请看下篇: Spring源码深度解析,初始Spring源码(二)(附代码示例:)

你可能感兴趣的:(Spring,源码,Spring)