• spring( history Design Philosophy )


    history:

    Spring 框架最开始的部分是由Rod Johnson于2000年为伦敦金融界提供独立咨询业务时写出来的。在《Expert One-On-One J2EE Development Without EJB》一书中,他进一步拓展了他的代码,以阐述“如何让应用程序能以超出当时大众所惯于接受的易用性和稳定性与J2EE平台上的不同组件合作”的观点。一批自愿拓展Spring框架的程序开发人员组成了团队,2003年2月在Sourceforge上构建了一个项目。在Spring框架上工作了一年之后,这个团队在2004年3月发布了第一个版本(1.0)。这个版本之后,Spring框架在Java社区里变得异常流行,当然这也要部分的归功于它不错的文档功能和详尽的参考文献,特别是对于一个开源项目而言尤其如此。Spring框架的一个重要设计目标就是更容易地与已有的J2EE(现在称之为JavaEE或JEE)标准和商用工具整合。简单说来,Spring在最初的目标中(至少Rod大叔一开始是这么说的),并不是致力于打造又一个大而全的新框架。而是希望Spring框架就像一个大容器一样,能够快速方便地集成各种应用(牢记:不仅仅是Web应用,就算一个普通的Java应用也可以)中各种现有技术,对它们进行支持,让开发人员在实现过程中感觉就像使用简单JavaBean一样,在必要的时候还能轻松完成同类框架和工具的替换。而Spring达到这一目标的两大关键手段就是:控制反转/依赖注入(IOC/DI),和面向切面编程(AOP)。其中,IOC/DI是Spring最基本的底层;而AOP是Spring强大的亮点。它们也是我们一开始学习Spring的起点。

    design:

    Spring Framework是一个开源Java应用程序框架,最初是基于依赖注入(DI)和控制反转(IoC)的原理开发的。Spring Framework已经成长为控制容器的反转,并且目前包括几个提供各种服务的模块,如面向方面的编程,数据访问,事务管理,模型 - 视图 - 控制器,身份验证和授权,消息传递,和测试。您可以查看所有这些Spring项目@  spring.io/projects。核心模块是Spring Framework,大多数其他模块都依赖于此模块。Spring提供自动装配功能,通过它您可以简单地指定接口类型,Spring可以在运行时找到实际类型,前提是没有冲突。Spring已成为Enterprise JavaBean(EJB)模型的流行替代品

    Philosophy:

    Spring 为开发者提供的是一个一站式的轻量级应用开发框架和传统的J2EE开发相比,Spring支持POJO(普通的Java对象,不具有业务逻辑或者实体功能,作用是方便程序员使用数据库中的数据表)和使用JavaBean开发方式,使应用面向接口开发(体现其封装特性)充分支持OO(面向对象的设计方法)。在应用开发中,往往会涉及复杂的对象耦合关系,通过Spring的IOC容器,可以对这些耦合关系实现一个文本化,外部化的工作(通过上下文文件实现其依赖反转,实际上是通过BeanDefinition这种数据结构对bean进行管理。)把依赖关系的管理从Java对象中解放出来,交给IOC容器来完成,从而完成了对象关系的解耦。原来的对象——对象关系,转化为对象——IOC容器——对象的关系。Spring关心的是一些企业应用资源的使用,比如数据的持久化,数据集成,事务处理,消息中间件。Spring体系的核心:IOC容器和AOP模块。一方面,通过IOC容器来管理POJO对象,以及它们相互之间的耦合关系。另一方面,可以通过AOP,以动态和非侵入的方式来增强服务的功能。Spring的设计理念:面向接口开发而不是依赖于具体的产品实现,用户可以选择Hibernate作为ORM工具,也可以选择iBatis(ORM:对象映射关系,用来把对象模型表示的对象映射到基于SQL的关系模型数据库结构中去)

     

     

  • 相关阅读:
    【兼容性】IE不支持日期字符串转换为日期对象
    tinydate.js[v0.2] 优化了调用方式
    tinydate.js[v0.1]关于Javascript Date的工具
    【兼容性】IE10不支持参数默认值即可选参数
    【兼容性】IE10不支持lamda表达式
    创建第一个core项目(netCore学习笔记1)
    .net(C#)在Access数据库中执行sql脚本
    (Lesson2)根据类名称和属性获得元素-JavaScript面向对象
    UWP Tiles
    UWP Ad
  • 原文地址:https://www.cnblogs.com/railgun1/p/10836207.html
Copyright © 2020-2023  润新知