如你所见,spring框架的核心是关注于如何使用DI、AOP和模板来让企业级java开发变得更简单。spring确实也是这样做的,所以很值得你去使用它。不过spring内容可能比你所能看到的要多很多。在spring框架中,你可能找到几种使java开发变得容易的方式。但是spring框架是构建在核心框架的的一个生态系统,将spring延伸到web service,REST,mobile和NoSQL领域。

  首先,让我们分解下spring核心框架,看看它带来的价值。然后我们会将我们的视野集中在spring其他的产品上。

spring modules

  当你下载发布的spring并且研究它的库文件夹时候,你会发现有一些JAR文件。比如spring 4.0,在spring发布的框架中有20个独立的模块,每个模块都包含3个JAR文件(二进制文件,源码文件,JavaDoc文件).。下面是完整的图示

这些模块可以安排到6个功能分类中,如下图所示

总的来说,这些模块几乎提供了开发企业级应用的所有东西,但是你不必这这些都引进到你的应用中。你可以自由的选择适合你应用的几个模块,当它们不能满足你的需求时候在看看其他选择。spring也提供了和其他框架和类库的整合,所以你不必自己来写。接下来我们来一个个看下图片中的模块。

  • core spring container

  容器是spring框架的核心,它管理支持spring应用的bean的创建和配置。spring bean factory通过spring DI来完成这些操作。几个spring application context实现都上构建在bean factory基础上。除了上面的两个功能外,这个模块还支持很多企业服务比如email,JNDI访问,EJB整合,调度。所有其他的模块都是构建在core container上。当你配置你的应用的时候可以含蓄的使用这些类。核心模块会贯穿到整本书。

  • spring's aop module

  在AOP模块中,Spring提供丰富的面向切面编程支持。该模块作为支持Spring应用的基础服务,用于用户开发自己的切面功能。和DI一样,AOP支持松耦合。但是使用AOP,应用级别的概念(比如事务和安全)和核心业务是分离的。

  • data access and integration

  

最新文章

  1. PPT演示快捷键
  2. php基础_函数和类
  3. js鼠标经过文字滚动,移开还原
  4. BZOJ4584 : [Apio2016]赛艇
  5. ehcache 缓存
  6. hadoop学习记录(零)
  7. windows程序设计简介
  8. 遍历INI文件和删除指定域内容
  9. eclipse中调出android sdk manager和android virtual device manager图标
  10. C#开发学习——SqlHelper的应用
  11. [Kubernetes] CRI 的设计与工作原理
  12. Android之Error: 'L' is not a valid file-based resource name character解决办法
  13. Cross-site request forgery 跨站请求伪造
  14. 第7课 列表初始化(2)_分析initializer_list<T>的实现
  15. python 网络爬虫介绍
  16. Codeforces Round #505 (Div 1 + Div 2) (A~D)
  17. dedecms文章页调用地址(当前文章URL)如何操作?
  18. day2-Iptables笔记
  19. 手把手教你从零搭建Python数据分析环境
  20. nowcoder 203J Graph Coloring I(dfs)

热门文章

  1. Problem E: 零起点学算法25——判断是否直角三角形
  2. 使用virtualenv为应用提供了隔离的Python运行环境
  3. Java杂谈3——类加载机制与初始化顺序
  4. Android Studio使用过程中Java类突然报红,但项目可运行解决方案
  5. iOS:iOS 的 APP 如何适应 iPhone 5s/6/6Plus 三种屏幕的尺寸?
  6. phpmyadmin后台4种拿shell方法 && php爆路径大法
  7. Java笔记4:JDBC纯驱动方式连接Oracle
  8. kubelet分析
  9. 通过http协议发送json格式请求并解析
  10. es6 中的 模板字符串