Spring3基础原理解析
一、Spring3主要含义
Spring3是一个轻量级的控制反转(IOC)和面向切面(AOP)的容器框架。
注:IOC的作用:对象依赖的其他对象通过被动的形式传递进来而不是这个对象常见或者查找依赖对象。
二、Spring3主要作用
主要是用于降低模块之间耦合度的框架,主要是通过IOC(控制反转)降低模块之间的耦合度。
三、Spring3核心要点
支持不绑定到特定Java EE服务的可重用业务和数据访问对象。
四、Spring3框架具体有如下特点
1、方便解耦,简化开发
2、AOP(面向切面编程)的编程支持
3、声明式事务的支持
4、方便程序的测试
5、方便集成各种优秀的框架
6、降低Java EE API的使用难度
五、Spring3框架具体有如下特点
spring3框架的主要优势之一就是分层架构,分层架构允许选择使用任何一个组件,同时也可以集成其他框架,Spring3框架由7个定义良好的模块组成分层框架,这七个分层框架包括:Spring AOP框架、Spring ORM框架(支持Hibernate)、Spring Web框架(web应用上下文环境和工具类)、Spring DAO框架(支持事务、DAO、JDBC)、Spring上下文框架(支持校验、JNDI、Mail、任务等)、Spring MVC框架、核心容器框架(支持工具类、Bean容器),核心容器框架主要作用是:定义创建、配置、管理Bean的方式。组成Spring3框架的每个组件(模块)都可以单独存在,也可以与其他一个或多个组件联合实现。注:Spring的其余六个框架都是建立在第七个框架核心容器框架之上的。
六、七个组件的不同的功能
核心容器提供Spring3框架的基本功能。核心容器的主要组件是BeanFactory和ApplicationContext.容器使用控制反转模式将应用程序的配置和依赖性规范与实际的应用程序代码分开。注:核心容器框架是Spring其余六个框架的基础
Spring上下文是一个配置文件,向Spring3框架提供上下文信息。Spring上下文包括企业服务,例如:校验、JNDI、EJB、电子邮件、国际化和任务调度等。
Spring AOP。通过配置管理特性,Spring AOP模块直接将面向切面的编程功能集成到Spring3框架中。所以,可以很容易地使Spring3框架管理的任何对象支持AOP。
Spring DAO。JDBC DAO抽象层提供了有意义的异常层次结构,可用该结构来管理异常处理和不同数据库供应商抛出的错误信息。
Spring ORM。Spring3框架插入了若干个ORM框架。
Spring Web。Web上下文模块建立在应用程序上下文模块之上,为基于Web的应用程序提供了上下文。
Spring MVC。MVC框架是一个全功能的构建Web应用程序的MVC实现。通过策略接口,MVC框架是高度可配置的,MVC中容纳大量视图技术,其中包括JSP、Velocity、Tiles、iText等。
Spring3基础原理解析的更多相关文章
- APPcrawler基础原理解析及使用
一.背景 一年前,我们一直在用monkey进行Android 的稳定性测试 ,主要目的就是为了测试app 是否会产生Crash,是否会有ANR,页面错误等问题,在monkey测试过程中,实现了脱离Ca ...
- JSP和Struts2、Hibernate、Spring3基础内容和原理
一.JSP工作原理 1.首先是利用客户端浏览器,然后由客户端浏览器请求JSP页面,向JSP服务器发出请求. 2.JSP服务器内部原理 JSP服务器首先在收到客户端传送过来的请求后,将JSP页面编译成S ...
- Spring IOC设计原理解析:本文乃学习整理参考而来
Spring IOC设计原理解析:本文乃学习整理参考而来 一. 什么是Ioc/DI? 二. Spring IOC体系结构 (1) BeanFactory (2) BeanDefinition 三. I ...
- Web APi之过滤器创建过程原理解析【一】(十)
前言 Web API的简单流程就是从请求到执行到Action并最终作出响应,但是在这个过程有一把[筛子],那就是过滤器Filter,在从请求到Action这整个流程中使用Filter来进行相应的处理从 ...
- Android中插件开发篇之----应用换肤原理解析
一.前言 今天又到周末了,感觉时间过的很快呀.又要写blog了.那么今天就来看看应用的换肤原理解析.在之前的一篇博客中我说道了Android中的插件开发篇的基础:类加载器的相关知识.没看过的同学可以转 ...
- 3D游戏常用技巧Normal Mapping (法线贴图)原理解析——高级篇
1.概述 上一篇博客,3D游戏常用技巧Normal Mapping (法线贴图)原理解析——基础篇,讲了法线贴图的基本概念和使用方法.而法线贴图和一般的纹理贴图一样,都需要进行压缩,也需要生成mipm ...
- Objective-C通过联合存储为类增加属性及原理解析
联合存储实现方式及底层原理解析 作者:wangzz 原文地址:http://blog.csdn.net/wzzvictory_tjsd/article/details/9347981 转载请注明出处 ...
- 超详细的Guava RateLimiter限流原理解析
超详细的Guava RateLimiter限流原理解析 mp.weixin.qq.com 点击上方“方志朋”,选择“置顶或者星标” 你的关注意义重大! 限流是保护高并发系统的三把利器之一,另外两个是 ...
- vue.js响应式原理解析与实现
vue.js响应式原理解析与实现 从很久之前就已经接触过了angularjs了,当时就已经了解到,angularjs是通过脏检查来实现数据监测以及页面更新渲染.之后,再接触了vue.js,当时也一度很 ...
随机推荐
- java后端的知识学习
有良好的计算机基础知识,熟悉计算机网络技术以及常用的设计模式:有扎实的 Java 语言基础,熟悉 Java 多线程编程技术.JVM 虚拟机原理:熟悉J2EE体系架构,熟悉WebService.Spri ...
- 安装mingw编译器
1.下载地址:https://sourceforge.net/projects/mingw/files/latest/download?source=top3_dlp_t5 2. 安装下载的(ming ...
- Beta冲刺第二周王者荣耀交流协会第六次会议
1.立会照片 成员:王超,高远博,冉华,王磊,王玉玲,任思佳,袁玥全部到齐. master:任思佳 2.时间跨度: 2017年11月22日 12:00 — 12:20,总计20分钟. 3.地点: 一食 ...
- Flask 上下文管理
为什么用threading.local? 我们都知道线程是由进程创建出来的,CPU实际执行的也是线程,那么线程其实是没有自己独有的内存空间的,所有的线程共享进程的资源和空间,共享就会有冲突,对于多线程 ...
- 06_mysql先分页查询再排序
数据库字段: SELECT * FROM (SELECT * FROM tb_item LIMIT 3,3) temp_table ORDER BY id DESC; 查询结果:
- wxPython制作跑monkey工具(python3)-带显示设备列表界面
一. wxPython制作跑monkey工具(python3)-带显示设备列表界面 源代码 Run Monkey.py #!/usr/bin/env python import wx import ...
- 六、Django模型基础第一节
1 数据库的连接配置 django 连接mysql的配置流程: 安装 pymysql pip install pymysql 创建数据库用户 '; grant all on *.* to 'xiang ...
- 连接mysql用mysql_connect不能连接
用mysqli_connect就可以解决. mysqli_array()有连个参数,第一个是连接mysql名. php遇到这个警告Warning: Use of undefined constant ...
- $(window).scroll()无法触发问题
在微信端开发中遇到一个这种问题:明明用的公共文件(代码如下图),其他页面每次都能触发这个滚动条$(window).scroll事件,以显示右下角“回到顶部”这个按钮图标 但是,问题来了,最该需要使用“ ...
- 关于xampp mysql字符编码与编译器编码不匹配问题
今天,在php中对数据库字符字段进行查询的时候,语法之类的完全正确,但是就是查询不到结果,而在命令行中,同样的语句却能获得预期的功效.经多方面的了解之后才发现是字符编码不匹配的原因.在这里,把我的解决 ...