Spring学习之基本概念
Spring 基本概念
Spring优点:
1.Spring不同于其它的Framework,它要提供的是一种管理你的业务对象的方法。
2.DI有效的降低了耦合度
3.AOP提供了通用任务的集中管理
4.ORM和DAO简化了对数据库访问
5.高度开放性,并不强制
Spring不会给你的工程添加对其它的框架依赖,同时Spring又可以称得上是一个一揽子解决方案,提供了一个典型应用所需要的大部分基础框架。
Spring带来的开发好处:
1.可以有效组织中间层对象
2.使用统一的配置文件
3.促进良好编程习惯,减少编程代价
4.易于单元测试
5.使EJB成为一种备选
6.为数据存取提供了一致的框架
Spring的特点:
1.方便解耦,简化开发
通过IoC容器,可以将对象之间的依赖关系交由Spring进行控制,避免硬编码所造成的过度程序耦合。
2.AOP编程的支持
可以方便进行面向切面的编程
3.声明式事物的支持。
可以通过声明式方式灵活地进行事物的管理,提高开发效率和质量。
4.方便程序的测试
可以用非容器依赖的编程方式进行几乎所有的测试工作。
5.方便集成各种优秀框架
其不排斥各种优秀的开源框架,可以降低各种框架的使用难度,提供了直接支持。
6.降低JavaEE API的使用难度
对比如jdbc、JavaMail、远程调用等,提供了一个薄薄的封装层。
7.Spring的源码是经典学习范例
= =再等等吧
Spring框架结构:
1.Spring Core:核心容器
这是Spring框架最基础的部分,提供了依赖注入(DI,Dependency Injection)特征来实现容器对Bean的管理。最基本的概念是BeanFactory,它是任何Spring应用的核心。BeanFactory是工厂模式的一个实现,它使用IoC将应用配置和依赖说明从实际的应用代码中分离出来。
2.应用上下文(Context)模块
是一个配置文件,BeanFactory使Spring成为容器,而上下文模块使它成为框架。该模块扩展了BeanFactory的概念,增加了对国际化(I18N)消息、事件传播以及验证的支持。
3.Spring的AOP模块
其提供了对面向切面编程的丰富支持。
4.JDBC抽象和DAO模块
JDBC经常导致大量的重复代码,比如连接、创建、处理、关闭,而Spring的JDBC和DAO模块抽取了这些重复代码,因此用户可以保持数据库访问代码简洁,并且可以防止因关闭数据库资源失败而引起的问题。使用了Spring的AOP模块为Spring应用中的对象提供了事物管理服务。
5.对象/关系映射集成模块
Spring提供了ORM模块。Spring并不试图实现它自己的ORM解决方案,而是为几种流行的ORM框架提供了集成方案。Spring的事物管理支持ORM与JDBC。
6.Spring的Web模块
其建立于应用上下文模块之上,提供了一个适合于Web应用的上下文。还提供了一些面向服务支持,也提供了Spring和其它Web框架的集成,比如Struts。
7.Spring的MVC框架
功能全面,可利用Spring的任何其它服务,其使用IoC对控制逻辑和业务对象提供了完全的分离。
Spring学习之基本概念的更多相关文章
- Spring学习总结(19)——Spring概念详解
Spring是一个开源框架,Spring是于2003 年兴起的一个轻量级的Java 开发框架,由Rod Johnson创建.简单来说,Spring是一个分层的JavaSE/EEfull-stack(一 ...
- Spring学习之AOP总结帖
AOP(面向方面编程),也可称为面向切面编程,是一种编程范式,提供从另一个角度来考虑程序结构从而完善面向对象编程(OOP). 在进行 OOP 开发时,都是基于对组件(比如类)进行开发,然后对组件进行组 ...
- Spring学习之第一个AOP程序
IOC和AOP是Spring的两大基石,AOP(面向方面编程),也可称为面向切面编程,是一种编程范式,提供从另一个角度来考虑程序结构从而完善面向对象编程(OOP). 在进行 OOP 开发时,都是基于对 ...
- Spring学习(二)——Spring中的AOP的初步理解[转]
[前面的话] Spring对我太重要了,做个关于web相关的项目都要使用Spring,每次去看Spring相关的知识,总是感觉一知半解,没有很好的系统去学习一下,现在抽点时间学习一下Spring. ...
- 我的Spring学习记录(二)
本篇就简单的说一下Bean的装配和AOP 本篇的项目是在上一篇我的Spring学习记录(一) 中项目的基础上进行开发的 1. 使用setter方法和构造方法装配Bean 1.1 前期准备 使用sett ...
- 【转】Spring学习---Bean配置的三种方式(XML、注解、Java类)介绍与对比
[原文]https://www.toutiao.com/i6594205115605844493/ Spring学习Bean配置的三种方式(XML.注解.Java类)介绍与对比 本文将详细介绍Spri ...
- 不错的Spring学习笔记(转)
Spring学习笔记(1)----简单的实例 --------------------------------- 首先需要准备Spring包,可从官方网站上下载. 下载解压后,必须的两个包是s ...
- Spring学习13-中IOC(工厂模式)和AOP(代理模式)的详细解释
我们是在使用Spring框架的过程中,其实就是为了使用IOC,依赖注入,和AOP,面向切面编程,这两个是Spring的灵魂. 主要用到的设计模式有工厂模式和代理模式. IOC是工厂模式参考:设计模式- ...
- spring学习 8-面试(事务,解决线程安全)
1.介绍一下Spring的事物管理 参考:Spring 学习7 -事务 2.Spring如何处理线程并发问题 Spring使用ThreadLocal解决线程安全问题 参考:Spring学习11- ...
随机推荐
- NC保存报dirty解决方法
在NC UI端测试保存的时候报 " The data whose initcode is 6033 is dirty! " 错误,其解决方式是 在IHrPf接口中添加你的单据模板编号 和 参数模板 ...
- uva 11825
刘书上例题 关于集合的动态规划 #include <cstdio> #include <cstdlib> #include <cmath> #include &l ...
- Cloud Insight 仪表盘上线 | 全面监控 Redis
OneAPM 作为应用性能领域的新兴领军企业,近期发布了重量级新产品-- Cloud Insight 数据管理平台,用它能够监控所有基础组件,并通过 tag 标签对数据进行管理. 近日,Cloud I ...
- hdu 4701 Game 博弈论
思路: ▶ 设 win(i,x,y) 表示当前可以买的物品是 i,先手有 x 元,后 手有 y 元时,先手是否必胜 ▶ win(i,x,y) ⇐⇒∃j((j > i)∧(x ≥ si−sj)∧¬ ...
- ios 关于StoryBoard 的简易使用说明
ios 关于StoryBoard 的简易使用说明 http://www.tuicool.com/articles/FNRruy
- http://www.mxchip.com/talk/news/jishuwenzhang/2014-09-11/67.html
http://www.mxchip.com/talk/news/jishuwenzhang/2014-09-11/67.html
- ISO9000与ISO9001的区别
很多人询问ISO9000和ISO9001的区别在哪里,其实这是一个概念上的误解. ISO9001是ISO9000族标准所包括的一组质量管理体系核心标准之一.ISO9000族标准是国际标准化组织(ISO ...
- iOS xcuserdata
说明: project.xcworkspace说明:is a directory of files describing the workspace or projects. Althou ...
- svn:...target\classes\META-INF\MANIFEST.MF (系统找不到指定的路径。)
在上传项目到svn时,pom.xml报错
- KMP入门题目[不定期更新]
HDU 1711 Number Sequence(模板题) #include <cstdio> ; ; int N, M; int textS[MAXN]; int tarS[MAXL]; ...