Spring源码阅读——2

原创
2018/08/18 11:52
阅读数 1.5K

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

1、Spring的整体架构

1. Ioc(控制反转)

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

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

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

2. AOP(面向切面编程)

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

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

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

3. Spring MVC

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

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

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

4. Spring JDBC/ORM

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

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

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

5. Spring事务处理

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

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

6. Spring远程调用

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

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

7. Spring应用

  • Spring的一些子项目
展开阅读全文
加载中
点击引领话题📣 发布并加入讨论🔥
打赏
0 评论
0 收藏
0
分享
返回顶部
顶部