Spring是一个轻量级的DI和AOP容器框架。说它轻量级有一大部分原因是相对于EJB的(虽然本人从来没有接触过EJB的应用),但重要的是Spring是非侵入式的,基于Spring开发应用一般不依赖于Spring的类。

Spring中的一些概念

DI(Dependency Injection,依赖注入)

依赖注入是控制反转的具体实现。当一个角色需要另外一个角色协助的时候,在传统的程序设计中,通常由调用者来创建被调用者的实例,但是在Spring中创建被调用者将不再由调用者完成,而是交给容器去统一创建,这就是控制反转。创建被调用对象由Spring来完成,在容器实例化对象的时候主动地将被调用者(或者说它的依赖对象)注入给调用对象,这就是依赖注入。

AOP(Aspect Oriented Programming,面向切面编程)

Spring对面向切面编程提供了强有力的支持,通过它让我们将业务逻辑从应用服务(如事务管理)中分离出来,实现了高内聚开发,应用对象只关注业务逻辑,不再负责其他系统问题,比如日志、事务或权限等。另外Spring还支持用户自定义切面。

面向切面编程是面向对象编程的一个有力补充。面向对象编程将程序分成各个层次的对象,面向切面的程序将运行过程分解成各个切面。AOP是从运行程序的角度去考虑程序的结构,提取业务处理过程的切面,OOP是静态的抽象,AOP则是动态的抽象,是对应用执行过程的步骤进行抽象,从而获得步骤之间的逻辑划分。

容器

Spring是个容器,因为它包含并且管理应用对象的生命周期和配置。比如对象的创建、销毁和回调等。

框架

Spring作为一个框架,提供了一些基础功能,比如事务管理或持久层集成等,使开发人员更专注于开发应用逻辑。

Spring的优点

1.使用Spring的IOC容器,将对象之间的依赖关系交给了Spring,降低了组件之间的耦合性,让我们更专注于应用逻辑。

2.Spring提供众多服务,比如事务管理,WS等。

3.Spring对AOP很好的支持,方便面向切面编程。

4.Spring对追u的框架提供了很好的集成支持,比如Hibernate、Struts2和JPA等。

5.Spring的DI机制降低了业务对象替换的复杂性。

6.Spring属于低侵入,代码的污染极低。

7.Spring的高度可开放性,并不强制依赖于Spring,开发者可以自由选择Spring的部分或全部。

"不要在悲观的情绪里沉溺太久,也不要在崩溃的边缘停留太久。"

转载于:https://www.cnblogs.com/yanggb/p/11154036.html

spring的一些概念及优点相关推荐

  1. Spring MVC框架有哪些优点

    Spring MVC是Spring提供的一个实现了Web MVC设计模式的轻量级Web框架.它与Struts2框架一样,都属于MVC框架,但其使用和性能等方面比Struts2更加优异. Spring ...

  2. 描述一下Spring框架的作用和优点?

    Spring框架的作用和优点如下: 1.Spring是一个开源的轻量级的应用开发框架,其目的是用于简化企业级应用程序开发,减少侵入: 2.Spring提供的IOC和AOP应用,可以将组建的耦合度降低至 ...

  3. 使用Spring Roo进行概念验证

    在Keyhole期间,我参与了许多项目,其中客户要求我们重写旧系统,同时保留其现有数据库. 有时,它有助于快速演示如何使用当前技术来简化开发,测试和维护其代码. 我发现可以创建一个快速示例(与当前项目 ...

  4. 【软件工程】几种常见的软件开发模型:(瀑布模型,快速原型模型,增量模型,螺旋模型,喷泉模型)模型的概念特点优点缺点和不同。

    (瀑布模型,快速原型模型,增量模型,螺旋模型,喷泉模型)各种模型的概念特点优点缺点和不同. (张海藩,吕云翔)著-软件工程 复习记录 文章目录 一.瀑布模型 二.快速原型模型 三.增量模型 四.螺旋模 ...

  5. 游标(概念、优点、分类、静态游标的使用(显示游标(显示游标的属性、遍历显示游标、显示游标的FOR循环)、隐式游标(隐式游标的属性))、动态游标的使用、静态游标和动态游标的区别、更新或删除当前游标数据

    文章目录 游标 游标概念 游标优点 游标分类 静态游标的使用 显示游标 显示游标的属性 遍历显示游标 显示游标的FOR循环 接收显式游标数据的数据类型(普通变量.记录变量.集合变量) 通过游标更新.删 ...

  6. Spring MVC和Spring Boot的概念以及比较

    Spring MVC是什么? (1)Spring MVC是Spring提供的一个强大而灵活的模块式web框架.通过Dispatcher Servlet, ModelAndView 和 View Res ...

  7. Springboot,SSM及SSH的概念、优点、区别及缺点

    Springboot的概念: 是提供的全新框架,使用来简化Spring的初始搭建和开发过程,使用了特定的方式来进行配置,让开发人员不在需要定义样板化的配置.此框架不需要配置xml,依赖于像MAVEN这 ...

  8. Spring框架基础概念(面试概念解答)

    Spring框架概述 什么是Spring? 三层体系架构 Spring框架的优点 Spring的体系结构 Core Container(核心容器) Data Access/Integration(数据 ...

  9. Spring的核心概念总结

    Spring 1.基础概念 1.1.企业级系统 1.2.Java如何开发企业级应用 1.3.Spring基本概念 spring的体系结构 1.3.Spring设计理念-面向Bean的编程 1.4.Sp ...

最新文章

  1. OSChina 周六乱弹 —— 老用户与狗
  2. 【转载】如何学JavaScript?前辈的经验之谈
  3. python怎么自动中文版_Python实现AI自动版贪吃蛇
  4. 洋葱第4场C和D题解……
  5. Spring中的后置处理器BeanPostProcessor讲解
  6. android 屏幕旋转不重新加载,Android webview旋转屏幕导致页面重新加载问题解决办法...
  7. canvas动画简单操作
  8. #C语言#警告:隐式声明函数‘xxx’ [-Wimplicit-function-declaration]
  9. oracle日期函数函数,Oracle日期函数
  10. C++ STL list容器中元素的存取和访问
  11. JavaScript调试技巧之console.log()详解
  12. CSS 中文字体格式
  13. Android 如何查看apk签名信息的MD5(SHA1和SHA256也可以)
  14. (已更新)短视频去水印解析客户端小程序源代码
  15. 金蝶kiss专业版财务软件下载。
  16. yy_model及 YYLabel
  17. 土地资源管理就业怎么这么难_我所理解的土地资源管理专业
  18. 请不要叫我小编,我是神圣的内容产品经理
  19. android集成sdk 马甲包,Android 马甲包制作流程
  20. Ensight 操作技巧

热门文章

  1. java调用linux设备,使用Java调用Linux系统命令
  2. 选择文件夹里指定文件图片路径_这简直是鼠标一拖,自动帮你整理好文件
  3. 关于电脑的基础知识_改装小白必看的汽车音响改装基础知识!
  4. oracle 39170,39170-1134
  5. oracle 创建角色 权限设置,[学习笔记] Oracle创建用户、分配权限、设置角色,
  6. java程序设计与问题求解第八版pdf_《Java程序设计与问题求解(第7版)》怎么样_目录_pdf在线阅读 - 课课家教育...
  7. Python基础知识汇总
  8. 《Objective-C开发经典教程》
  9. Python爬虫教程:简书文章的抓取与存储
  10. 使用Scala的强大api快速加工数据