① Spring Core:核心容器,BeanFactory提供了组件生命周期的管理,组件的创建,装配,销毁等功能

SpringContext:ApplicationContext,扩展核心容器,提供事件处理、国际化等功能。它提供了一些企业级服务的功能,提供了JNDI,EJB,RMI的支持。

② Spring AOP:提供切面支持

③ Spring DAO:提供事务支持,JDBC,DAO支持

④ Spring ORM:对流行的O/R Mapping封装或支持

⑤ Spring Web:提供Web应用上下文,对Web开发提供功能上的支持,如请求,表单,异常等。

⑥ Spring Web MVC:全功能MVC框架,作用等同于Struts。

spring对dao的支持

6.Spring的一致的异常体系(DataAccessException)

7.spring orm

面向对象程序设计语言与关系数据库发展不同步时,需要一种中间解决方案,ORM框架就是这样的解决方案。笔者认为,随着面向对象数据库的发展,其理论逐步完善,最终会取代关系数据库。只是这个过程不可一蹴而就,ORM框架在此期间内会蓬勃发展。但随着面向对象数据库的出现,ORM工具会自动消亡。

10.1.3 流行的ORM框架简介 
目前ORM框架的产品非常多,除了各大著名公司、组织的产品外,甚至,其他一些小团队也都有推出自己的ORM框架。目前流行的ORM框架有如下这些产品。 
      大名鼎鼎的Hibernate:出自Gavin King的手笔,目前最流行的开源ORM框架,其灵巧的设计,优秀的性能,还有丰富的文档,都是其迅速风靡全球的重要因素。 
      传统的Entity EJB:Entity EJB实质上也是一种ORM技术,这是一种备受争议的组件技术,很多人说它非常优秀,也有人说它一钱不值。事实上,EJB为J2EE的蓬勃发展赢得了极高的声誉,就笔者的实际开发经验而言,EJB作为一种重量级、高花费的ORM技术上,具有不可比拟的优势。但由于其必须运行在EJB容器内,而且学习曲线陡峭,开发周期、成本相对较高,因而限制EJB的广泛使用。 
      IBATIS:Apache软件基金组织的子项目。与其称它是一种ORM框架,不如称它是一种 “Sql Mapping”框架。相对Hibernate的完全对象化封装,iBATIS更加灵活,但开发过程中开发人员需要完成的代码量更大,而且需要直接编写SQL语句。

8.EJB也是一种orm框架

spring的组成的更多相关文章

  1. 基于spring注解AOP的异常处理

    一.前言 项目刚刚开发的时候,并没有做好充足的准备.开发到一定程度的时候才会想到还有一些问题没有解决.就比如今天我要说的一个问题:异常的处理.写程序的时候一般都会通过try...catch...fin ...

  2. 玩转spring boot——快速开始

    开发环境: IED环境:Eclipse JDK版本:1.8 maven版本:3.3.9 一.创建一个spring boot的mcv web应用程序 打开Eclipse,新建Maven项目 选择quic ...

  3. Spring基于AOP的事务管理

                                  Spring基于AOP的事务管理 事务 事务是一系列动作,这一系列动作综合在一起组成一个完整的工作单元,如果有任何一个动作执行失败,那么事务 ...

  4. [Spring]IoC容器之进击的注解

    先啰嗦两句: 第一次在博客园使用markdown编辑,感觉渲染样式差强人意,还是github的样式比较顺眼. 概述 Spring2.5 引入了注解. 于是,一个问题产生了:使用注解方式注入 JavaB ...

  5. 学习AOP之透过Spring的Ioc理解Advisor

    花了几天时间来学习Spring,突然明白一个问题,就是看书不能让人理解Spring,一方面要结合使用场景,另一方面要阅读源代码,这种方式理解起来事半功倍.那看书有什么用呢?主要还是扩展视野,毕竟书是别 ...

  6. 学习AOP之深入一点Spring Aop

    上一篇<学习AOP之认识一下SpringAOP>中大体的了解了代理.动态代理及SpringAop的知识.因为写的篇幅长了点所以还是再写一篇吧.接下来开始深入一点Spring aop的一些实 ...

  7. 学习AOP之认识一下Spring AOP

    心碎之事 要说知道AOP这个词倒是很久很久以前了,但是直到今天我也不敢说非常的理解它,其中的各种概念即抽象又太拗口. 在几次面试中都被问及AOP,但是真的没有答上来,或者都在面上,这给面试官的感觉就是 ...

  8. 为什么做java的web开发我们会使用struts2,springMVC和spring这样的框架?

    今年我一直在思考web开发里的前后端分离的问题,到了现在也颇有点心得了,随着这个问题的深入,再加以现在公司很多web项目的控制层的技术框架由struts2迁移到springMVC,我突然有了一个新的疑 ...

  9. Spring之旅(2)

    Spring简化Java的下一个理念:基于切面的声明式编程 3.应用切面 依赖注入的目的是让相互协作的组件保持松散耦合:而AOP编程允许你把遍布应用各处的功能分离出来形成可重用的组件. AOP面向切面 ...

  10. Spring之旅

    Java使得以模块化构建复杂应用系统成为可能,它为Applet而来,但为组件化而留. Spring是一个开源的框架,最早由Rod Johnson创建.Spring是为了解决企业级应用开发的复杂性而创建 ...

随机推荐

  1. Android的SharedPreferences实用技巧

    转自:http://blog.csdn.net/jingfeizhu/article/details/10017779 SharedPreferences也是一种轻型的数据存储方式,它的本质是基于XM ...

  2. (转)mysql、sqlserver、oracle的默认事务的隔离级别

    1.mysql的默认事务的隔离级别:可重复读取(repeatable read); 2.sqlserver的默认事务的隔离级别:提交读取(read committed); 3.oracle的默认事务的 ...

  3. jQuery实现图片轮播

    之前有碰到过jQuery实现列表自动滚动,这次的图片轮播在原理上与之相同,只有一些细微的差别,就是需要在图片的右下角显示当前图片的序号,效果如下: 先看一看html代码,以及对应的css代码: < ...

  4. [GeekBand] STL与泛型编程(2)

    本篇文章在上一篇文章的基础上进一步介绍一些常用的容器以及STL的一些深入知识. 一. Stack和Queue 栈和队列是非常常用的两种数据结构,由deque适配而来.关于数据结构的知识这里就不在介绍了 ...

  5. grep比较两个文本相同不同行

    grep -Fxf file1 file2  两个文本中的相同行 grep -Fvxf <(grep -Fxf file1 file2) file1 file2 两个文本中的不同行 grep - ...

  6. 锋利的jquery-事件和动画

    1 注册事件的触发时机 在jquery中,$(window).load(function(){}) 注册在window下的事件等待页面所有资源加载完成(包括dome树的加载和图片视频的资源的加载) $ ...

  7. PHPStorm 2016.2 - 2016.3许可证服务器

    最快,最安全的选择,以激活您的PHPStorm 2016.2 - 2016.3,这是足够的激活服务器,软件将自动激活.该过程将不断更新,如果不工作评价写入,如果有,以激活没有列出的服务器也可以说. 通 ...

  8. css3选择器一

    在HTML中,通过各种各样的属性可以给元素增加很多附加的信息,了解和掌握css3一些的选择器,是很有必要的. 属性选择器示例: <div><a href="xxx.pdf& ...

  9. C++ 对数组sizeof 和对数组元素sizeof

    这一段程序 下面这段程序很有看点://arr1 is an array of intsint *source=arr1;size_t sz=sizeof(arr1)/sizeof(*arr1);//n ...

  10. sublime 编辑完自动生成tmp的备份

    是安装phptool之后造成的,卸载即可 http://bbs.csdn.net/topics/390826865