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,当时也一度很 ...
随机推荐
- 继承 in her it
''' in her it 继承 de rive 派生 python2 (经典类|新式类) python3 (新式类) 1. What is inheritance? 什么是继承? 继承是一种新建类的 ...
- 关于Hibernate级联更新插入信息时提示主键不为空的问题“org.hibernate.StaleStateException: Batch update returned unexpected row count from update: 0 actual row count: 0 expected: 1 ”
org.hibernate.StaleStateException: Batch update returned unexpected row count from update: 0 actual ...
- 大数字加法(hduoj)
Problem Description I have a very simple problem for you. Given two integers A and B, your job is to ...
- Java学习笔记(2)
int 和 booleam 不能直接转换,如下语法是不能通过的: boolean b = true; int i = (int) b; int j = 1; boolean a = (boolean) ...
- python 对 sqlite3的简单使用
SQLite是一种嵌入式数据库,它的数据库就是一个文件.由于SQLite本身是C写的,而且体积很小,所以,经常被集成到各种应用程序中,甚至在iOS和Android的App中都可以集成.Python就内 ...
- CodeBlocks无法调试的解决方法
闲话: 万万没想到我也会写这个东西.一开始软件工程课的时候老师要求我们写博客园,一直都是被动地在写博客.刚刚在重温C语言的时候发现的各种各样问题觉得还是写下来比较好,一旦以后自己又忘了呢……(摊手 顺 ...
- spring cloud_1_mm_eureka2 eureka集群
一个eureka会出现单点故障 这里整两个 eureka--1 application.yml: #注册中心端口 server: port: 8888 #唯一标示eureka注册中心 方便互相识别 e ...
- 图解HTTPS协议
原文出处: leezhong的博客 我们都知道HTTPS能够加密信息,以免敏感信息被第三方获取.所以很多银行网站或电子邮箱等等安全级别较高的服务都会采用HTTPS协议. HTTPS简介 HTTPS其实 ...
- Python全栈之路----常用模块----xml处理模块
xml是实现不同语言或程序之间进行数据交换的协议,跟json差不多,但json使用起来更简单,不过,古时候,在json还没诞生的黑暗年代,大家只能选择用xml呀,至今很多传统公司如金融行业的很多系统的 ...
- listview 点击时间被拦截
记录下自己所犯的错误,在写ListView的点击事件时OnItemClickListener,onItemClick方法没有执行,导致ListView条目点击事件失效,检查发现百度上有很多不同的答案, ...