zoukankan      html  css  js  c++  java
  • Spring

    spring 是一个轻量级的DI和AOP容器框架,说它轻量级有一大部分原因是相对与EJB的,重要的是,Spring是非侵入式的。基于Spring开发的应用一般不依赖于Spring的类。

    DI:依赖注入(Dependency Injection)和控制反转(IOC)一个概念,具体的讲当一个角色需要另一个角色协助时在传统的程序设计中,通常由调用者来创建被调用者的实例,但是在Spring中创建被调用者
    不再由调用者来完成而是由Spring来完成,在容器实例化对象的时候主动将被调用者(或者说他的依赖对象)注入给调用对象,因此又叫依赖注入。
    AOP:Spring对面向切面编程提供了强有力的支持,通过它让我们将业务逻辑从应用服务(如事务管理)中分离出来,实现了高内聚开发,应用对象只关注业务逻辑,不再负责其他系统问题(如日志、事务等)
    Spring支持用户自定义切面。
    面向切面编程是面向对象编程的强有力补充。面向对象编程将程序分成各个层次的对象,面向切面的程序将运行过程分解成各个切面。AOP是从运行程序的角度去考虑程序的结构,提取业务处理过程的切面,OOP
    是静态的抽象,AOP是动态的抽象,是对应用执行过程的步骤进行抽象,从而获得步骤之间的逻辑划分。

    面向切面编程其实是对业务逻辑又进行了进一步的抽取,将多种业务逻辑中的公用部分抽取出来做成一种服务(比如日志记录,性能统计,安全验证等),从而实现代码复用。另外这种服务通过配置可以动态
    的给程序添加统一控制,利用AOP可以对业务逻辑的各个部分进行分离,从而使得业务逻辑各部分之间的耦合度降低。
    容器:Spring是个容器,因为它包含并且管理应用对象的生命周期和配置。如对象的创建、销毁、回调等。
    框架:Spring作为一个框架,提供了一些基础功能,(如事务管理,持久层集成等),使开发人员更专注于开发应用逻辑。

    看完了Spring是什么,再来看看Spring有哪些优点
    1.使用Spring的IOC容器,将对象之间的依赖关系交给Spring,降低组件之间的耦合性,让我们更专注于应用逻辑
    2.可以提供众多服务,事务管理,WS等。
    3.AOP的很好支持,方便面向切面编程。
    4.对主流的框架提供了很好的集成支持,如Hibernate,Struts2,JPA等
    5.Spring DI机制降低了业务对象替换的复杂性。
    6.Spring属于低侵入,代码污染极低。
    7.Spring的高度可开放性,并不强制依赖于Spring,开发者可以自由选择Spring部分或全部

    摘自:http://blog.csdn.net/inaoen/article/details/43794505

  • 相关阅读:
    浅谈Tarjan算法及思想
    浅谈前向星
    线段树初步
    树状数组的简单运用
    字典树(trie树)的指针简单实现pascal
    排序专辑
    POJ 2155 Matrix (矩形)
    区间动态规划
    hdu-2795 Billboard---线段树
    hdu-1754 I Hate It---线段树模板题
  • 原文地址:https://www.cnblogs.com/cathyqq/p/5193500.html
Copyright © 2011-2022 走看看