spring 第一篇(1-3):鸟瞰spring蓝图
如你所见,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
spring 第一篇(1-3):鸟瞰spring蓝图的更多相关文章
- spring 第一篇(1-1):让java开发变得更简单(下)转
spring 第一篇(1-1):让java开发变得更简单(下) 这个波主虽然只发了几篇,但是写的很好 上面一篇文章写的很好,其中提及到了Spring的jdbcTemplate,templet方式我之前 ...
- Spring第一篇
我计划用3到五篇文章来描述Spring,这是第一篇 1 . 什么是Spring Spring 是一个开源框架,Spring 是于2003 年兴起的一个轻量级的Java 开发框架,由Rod Johnso ...
- 初学Java ssh之Spring 第一篇
之前虽然毕业前实习的工作是使用的C# .NET语言,但是,毕业后还是果断应聘Java.虽然自己对Java的理解不如C#深入,只是对基础知识比较熟悉,但还是义无返顾了··· 虽然应聘经历比较坎坷,但最终 ...
- spring框架篇(一)-------spring简介与配置文件使用控制反转事例
spring简介 Spring 是一个开源框架,中文意思就是春天,也许是作者想让自己的这个框架给Java开发人员带来春天吧.其官方网站是 https://spring.io/ ,可以在官方网站下载到完 ...
- Spring MVC篇一、搭建Spring MVC框架
本项目旨在搭建一个简单的Spring MVC框架,了解Spring MVC的基础配置等内容. 一.项目结构 本项目使用idea intellij创建,配合maven管理.整体的目录结构如图: 其中ja ...
- Spring入门篇——第7章 Spring对AspectJ的支持
第7章 Spring对AspectJ的支持 介绍Spring对AspectJ的支持 7-1 AspectJ介绍及Pointcut注解应用 实例 完成了在xml文件的配置 7-2 Advice定义及实例 ...
- Spring第一篇【介绍Spring、引入Spring、Spring六大模块】
前言 前面已经学习了Struts2和Hibernate框架了.接下来学习的是Spring框架-本博文主要是引入Spring框架- Spring介绍 Spring诞生: 创建Spring的目的就是用来替 ...
- spring 第一篇(1-2):管理你的beans
在基于spring的应用中,你的应用对象存活在spring container(容器中).容器创建,将它们装配到一起.还有配置和管理它们完整的生命周期(从生到死) 下一章节,你会看到如何配置Sprin ...
- SSH框架之Spring第一篇
1.1. spring概述: 1.1.1 spring介绍 : Spring是分层的Java SE/EE应用 full-stack轻量级开源框架,以IoC(Inverse Of Control : 反 ...
随机推荐
- [Android]--RadioGroup+RadioButton实现底部导航栏
RadioGroup+RadioButton组合方式打造简单实用的底部导航栏 代码块: <?xml version="1.0" encoding="utf-8&qu ...
- 乐观锁-version的使用
出处:http://chenzhou123520.iteye.com/blog/1863407 乐观锁介绍: 乐观锁( Optimistic Locking ) 相对悲观锁而言,乐观锁假设认为数据一般 ...
- NDK 调用对象属性
JNIEXPORT jbyteArrayJNICALL Java_com_lanhetech_iso8583_nativeLib_Iso8583NativeLib_pubPack8583 (JNIEn ...
- 国内流行的开源.net微信公众平台SDK对比分析
一.引言 目前微信公众平台正如火如荼的进行中,微信虽然在海外市场不敌WhatsApp,但是已经俘获了国内绝大部分用户的心.作为国内最大的,超级"app",微信已算是成功问鼎了.公众 ...
- Saga的实现模式——观察者(Saga implementation patterns – Observer)
https://lostechies.com/jimmybogard/2013/03/11/saga-implementation-patterns-observer/ 侵删. NServiceBus ...
- Inno Setup入门(十二)——Pascal脚本(1)
事件函数(1) Inno Setup支持以下函数和过程. function InitializeSetup(): Boolean; 该函数在安装程序初始化时调用,返回False 将中断安装,True则 ...
- mac下更新自带的PHP版本到5.6或7.0
下载和安装PHP 5.6 打开终端并且运行如下命令: curl -s http://php-osx.liip.ch/install.sh | bash -s 5.6 然后,PHP 5.6的版本会被安装 ...
- Kubernetes dashboard集成heapster
图形化展示度量指标的实现需要集成k8s的另外一个Addons组件: Heapster . Heapster原生支持K8s(v1.0.6及以后版本)和 CoreOS ,并且支持多种存储后端,比如: In ...
- linux下GPRS模块的应用程序
---------------------------------------------------------------------------------------------------- ...
- angular—— Dynamic Templates
原文:http://davidcai.github.io/blog/posts/router-dynamic-templates/ ui-router : templateProvider vs te ...