Spring(一):Spring是什么

一、概述

  • Spring是一个一站式的轻量级框架

  • 我们之前学过的struts、hibernate等框架都是针对某一层的特定框架,而Spring并不针对某一个层,它是个一站式的框架,可以理解为Spring用来整个各个层。

二、Spring框架与传统框架对比

  • 传统三层调用模式,如下图:

    • 上图所示调用“人”的添加方法,我们在web层需要new一个service对象,在service层需要new一个dao对象,这样耦合度极高。

  • 使用Spring框架之后的调用模式,如下图:

    • 我们可以把Spring看做一个容器,它帮助我们管理我们在开发过程中使用到的对象。可以通俗的理解为Spring容器干掉了我们代码中的new操作。

二、Spring体系结构

  • Core Container

    • Core:提供Spring最基本的功能

    • Beans:核心是BeanFacory

    • Context:核心是ApplicationContext

    • SpEL:Spring提供的一个语言表达式

  • Data Access/Integration

    • 本身提供简单的数据访问封装,比如Spring就对JDBC进行了简单的封装供我们使用

    • 我们也可以很方便的集成其它ORM框架,如Hibernate、Mybatis等

  • Web

    • 本身提供web框架,如SpringMvc

    • 也可以很方便的集成其它web框架,如Struts等

  • AOP(重点)

    • 面向切面编程

三、Spring框架—VS—美团外卖平台

  • 我们可以把Spring框架比做是美团外卖平台。

  • 没有美团外卖的时候,我们想要在家里吃饭店的饭,我们需要自己去饭店买,饭店做好之后给我们打包我们带走。有了美团外卖之后,我们直接在美团外卖平台上订某某个饭店的饭,做好之后有专门的外卖小哥给我们送过来。我们不需要关心外卖小哥是如何把饭送过来的。

  • 没有Spring框架之前,我们调用service层对象的方法时,需要在web层new一个service对象才能够调用。有了Spring框架,我们只需要给Spring说我要用某某个对象,Spring就会给我们提供一个供我们使用。我们不需要关心Spring是如何管理对象的。

四、使用Spring有什么优点,为什么要使用Spring?

  • 由上述文字我们可以总结发现,使用Spring框架可以高度解耦。Spring就像一个大工厂,它帮助我们管理所有对象的创建和依赖关系维护。

  • Spring框架还提供AOP面向切口编程支持,可以很方便的实现对程序权限进行拦截、运行监控等。

  • Spring也封装了事务管理,我们不需要像之前那样去手动编码控制事务。

  • Spring也可以很方便的集成其它框架,如Struts、Hibernate等

转载请注明出处:https://www.cnblogs.com/Infancy/p/12586923.html

原文地址:https://www.cnblogs.com/Infancy/p/12586923.html