一、前言

  Spring提供了一种轻量级的解决方案,用于建立“快装式企业应用”。在此基础上,Spring还提供了包括声明式事务管理,RMI或Web Services远程访问业务逻辑,以及可以多种方法进行的持久化数据库地解决方案。另外,Spring还有一个全功能的 MVC框架,并能透明的把 AOP 集成到你的软件中去。

二、简介

  Java应用(从applets的小范围到全套n层服务端企业应用)是一种典型的依赖型应用,它就是由一些互相适当地协作的对象构成的。因此,我们说这些对象间存在依赖关系

  Spring的IoC控件主要专注于如何利用classes、对象和服务去组成一个企业级应用,通过规范的方式,将各种不同的控件整合成一个完整的应用。Spring中使用了很多被实践证明的最佳实践和正规的设计模式,并且进行了编码实现。如果你是一个,构架师或者开发人员完全可以取出它们集成到你自己的应用之中。这对于那些使用了Spring Framework的组织和机构来说,在spring基础上实现应用不仅可以构建优秀的,可维护的应用并对Spring的设计进行验证,确实是一件好事情

2.1概览

Spring框架包含许多特性,并被很好地组织在下图所示的七个模块中。本节将依次介绍每个模块。

                      

  Core

     Core 封装包是框架的最基础部分,提供IoC控制反转和依赖注入特性。这里的基础概念是BeanFactory,它提供对Factory模式的经典实现来消除对程序性单例模式的需要,并真正地允许你从程序逻辑中分离出依赖关系和配置。

     构建于Core封装包基础上的 Context封装包,提供了一种框架式的对象访问方法,有些象JNDI注册器。Context封装包的特性得自于Beans封装包,并添加了对国际化(I18N)的支持(例如资源绑定),事件传播,资源装载的方式

     和Context的透明创建,比如说通过Servlet容器。

  DAO 

    DAO 提供了JDBC的抽象层,它可消除冗长的JDBC编码和解析数据库厂商特有的错误代码。 并且,JDBC 封装包还提供了一种比编程性更好的声明性事务管理方法,不仅仅是实现了特定接口,而且对所有的POJOs就是普通类(plain old Java

    objects)都适用。

  ORM

    ORM 封装包提供了常用的“对象/关系”映射APIs的集成层。 其中包括JPA、JDO、Hibernate 和 iBatis 。利用ORM封装包,可以混合使用所有Spring提供的特性进行“对象/关系”映射,如前边提到的简单声明性事务管理。

  AOP

    Spring的 AOP 封装包提供了符合 AOP Alliance规范的面向方面的编程(aspect-oriented programming)实现,让你可以定义,例如方法拦截器(method-interceptors)和切点(pointcuts),从逻辑上讲,从而减弱代码的功能耦合,清

    晰的被分离开。而且,利用source-level的元数据功能,还可以将各种行为信息合并到你的代码中,这有点象.Net的attribute的概念。

  Web   

    Spring中的 Web 包提供了基础的针对Web开发的集成特性,例如多方文件上传,利用Servlet listeners进行IoC容器初始化和针对Web的application context。当与WebWork或Struts一起使用Spring时,这个包使Spring可与其他框架结

    合。

  MVC

  Spring中的 MVC 封装包提供了Web应用的Model-View-Controller(MVC)实现。Spring的MVC框架并不是仅仅提供一种传统的实现,它提供了一种 清晰的 分离模型,在领域模型代码和web form之间。并且,还可以借助Spring框架的其他特

  性。

      未完待续......

转载于:https://www.cnblogs.com/yejiaojiao/p/5955389.html

SpringFramework的简介相关推荐

  1. Tomcat 配置和spring-framework MVC配置简介

    Tomcat启动时,先找系统变量CATALINA_BASE,如果没有,则找CATALINA_HOME.然后找这个变量所指的目录下的conf文件夹,从中读取配置文件.最重要的配置文件:server.xm ...

  2. 0502-Hystrix保护应用-简介,使用,健康指标等

    一.概述 参看地址:https://cloud.spring.io/spring-cloud-static/Edgware.SR3/single/spring-cloud.html#_circuit_ ...

  3. RabbitMQ 简介

    为什么80%的码农都做不了架构师?>>>    RabbitMQ 简介 MQ 消息队列,上承生产者,下接消费者.从生产者侧获取消息,然后将消息转发给消费者. 由此可见,MQ必须具有两 ...

  4. SpringCloud系列十二:SpringCloudSleuth(SpringCloudSleuth 简介、SpringCloudSleuth 基本配置、数据采集)...

    声明:本文来源于MLDN培训视频的课堂笔记,写在这里只是为了方便查阅. 1.概念:SpringCloudSleuth 2.具体内容 Sleuth 是一种提供的跟踪服务,也就是说利用 sleuth 技术 ...

  5. kaptcha验证码组件使用简介

    kaptcha验证码组件使用简介 Kaptcha是一个基于SimpleCaptcha的验证码开源项目. 官网地址:http://code.google.com/p/kaptcha/ kaptcha的使 ...

  6. Spring核心技术之IOC容器(一):IOC容器与Bean简介

    最近开始研究Spring框架,今天学习Spring的核心内容IOC 与 Bean 1. Spring IOC 与 Bean 简介  Inversion of Control (IoC)即控制反转,也叫 ...

  7. Spring框架简介

    Spring框架简介 Spring Framework 是一个开源的Java/Java EE全功能栈(full-stack)的应用程序框架,以Apache许可证形式发布,也有.NET平台上的移植版本. ...

  8. MyBatis简介与配置MyBatis+Spring+MySql

    一.MyBatis简介与配置MyBatis+Spring+MySql 原文出自:http://limingnihao.iteye.com/blog/781671 MyBatis学习 之 一.MyBat ...

  9. Redis简介和Redis Template用法整理

    Redis简介 Redis使大规模互联网应用常用的内存高速缓存数据库,它的读写速度非常快.Redis是目前使用最广泛的内存数据存储系统之一.它支持更丰富的数据结构,支持数据持久化.事务.HA(高可用H ...

最新文章

  1. 《Hadoop MapReduce性能优化》一1.3 Hadoop MapReduce的工作原理
  2. 软件测试度量计算方法有哪些,软件测试度量(三)
  3. Nginx模拟负载均衡
  4. php正则实例,php 正则表达式实例详解(适合初学者)
  5. 全球最快65W闪充!OPPO Reno Ace正式发布 高达限量定制版售价仅3599元
  6. java 局部变量空间 大小_变量作用域-1:局部变量 和成员变量、各种变量内存分配的大小...
  7. 这是阿里人手机里,这一年最舍不得删的照片
  8. 牛客网Java刷题知识点之调用线程类的start()方法和run()方法的区别
  9. 计算机组成原理——基础知识
  10. Apache ShenYu 网关正式支持 Dubbo3 服务代理
  11. Codeforces 1090C New Year Presents
  12. 地图影像图数量存储大小精度推算
  13. vlookup使用步骤_vlookup怎么用(vlookup具体使用方法详细步骤)
  14. 最新爬虫(2019.07)淘宝页面登陆滑块验证 selenium + chromedriver 爬取淘宝信息
  15. shp与geojson互转
  16. C语言编程>第十一周 ⑤ 请编写一个函数,用来删除字符串中的所有空格。
  17. java8新特性-stream对map集合进行过滤的方法
  18. Guitar Pro中变调夹的使用方法
  19. 通达oa考勤可以代打吗_考勤管理
  20. 4+ 非常经典的hub基因鉴定路线

热门文章

  1. mysql5.7.17版本介绍_mysql5.7.17版本升级源码方式及恢复主主复制
  2. 8086汇编常用代码总结(个人向),包含换行函数(过程),执行输出,结束程序
  3. 面向对象的23种设计模式
  4. 电路知识--认识原理图(二)
  5. Python中Function(函数)和methon(方法)
  6. 记录 之 遇到的 lamda 表达式和功能理解
  7. linux删除某个path_linux 从path中去掉某个
  8. forward_list的insert操作
  9. Linux永久挂载新的硬盘
  10. 局部静态变量Static详解