您的位置:首页 > 编程语言 > Java开发

Spring源码阅读——2

2018-08-18 11:52 387 查看

在阅读源码之前,先了解下Spring的整体架构:

1、Spring的整体架构



1. Ioc(控制反转)

Spring核心模块实现了Ioc的功能,它将类与类之间的依赖从代码中脱离出来,用配置的方式进行依赖关系描述,由Ioc容器负责依赖类之间的创建,拼接,管理,获取的工作

BeanFactory接口是Spring框架的核心接口,它实现类容器许多核心的功能;

Context模块构建于核心模块之上,扩展类BeanFactory的功能,添加类国际化,Bean生命周期控制,框架事件体系,资源加载透明化等多项功能。ApplicationContext是Context模块的核心接口;

2. AOP(面向切面编程)

AOP是进行横切逻辑编程的思想,它开拓类考虑问题的思路;

Spring提供类满足AOP Alliance规范的实现,整合类AspectJ这种AOP语言级的框架

在Spring里实现AOP编程由众多选择;

3. Spring MVC

Spring提供一个完整的类似于Struts的MVC框架,称为Spring MVC

Spring也可以整合其他Struts,WebWork等MVC框架;

以DispatcherServlet为核心,实现了如何与Web容器环境集成,Web请求的拦截,分发,处理和ModelAndView数据的返回,以及集合前端模块。

4. Spring JDBC/ORM

Spring在DAO的抽象层面,建立了一套面向DAO层的统一的异常体系

同时将各种访问数据的检查型异常转换为非检查型异常,为整合各种持久层框架提供基础

Spring通过模板化技术对各种数据库技术进行封装,将模板化的代码隐藏起来,是数据访问的程序得到大幅简化;

5. Spring事务处理

借助AOP技术,Spring提供了声明式事务的功能;此外,还支持编程式事务。

Spring事务分为全局事务和局部事务,全局事务需要借助底层容器的JTA(Weblogic,Websphere)机制,局部事务可以整合其他持久化框架,由事务处理器进行处理如DataSourceTransactionManager,HibernateTransactionManager,JtaTransactionManager,JdoTransactionManager等。

6. Spring远程调用

提供一个在Web应用中高效,双向的通信;

需要考虑到客户端和服务器之间的高频和低时延消息交换

7. Spring应用

Spring的一些子项目
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息