• Spring是什么?



    提示:以下是本篇文章正文内容,Java系列学习将会持续更新

    一、SSM是什么?

    SSM框架SpringSpringMVC 、和mybatis框架的整合,是标准的MVC模式。
    标准的SSM框架有四层,分别是DAO层,service层,controller层和view层。

    分工
     使用spring实现业务对象管理。(提供了IoC功能)
     使用spring MVC负责请求的转发和视图管理。(提供了Web开发功能)
     mybatis作为数据对象的持久化引擎。(实现了JDBC)

    二、Spring是什么?

     我们通常所说的 Spring 指的是 Spring Framework(Spring 框架),它是一个开源框架,有着活跃而庞大的社区,这就是它之所以能长久不衰的原因。Spring 支持广泛的应用场景,它可以让 Java 企业级的应用程序开发起来更简单。

    简单来说,Spring是一个轻量级的控制反转(IoC)和面向切面(AOP)的容器(框架)。

    IoC和DI

    IoC是什么?

     IoC(Inversion of Control)翻译成中文是“控制反转”的意思。
     Spring 是一个 IoC(控制反转)容器,重点还在“容器”二字上,那么它就具备两个最基础的功能:将对象存入到容器从容器中取出对象
     也就是说学 Spring 最核心的功能,就是学如何将对象存入到 Spring 中,再从 Spring 中获取对象的过程。

    举个例子
    正向控制:自己造、自己用,自给自足的生产模式。
    控制反转:看需要什么、(不考虑如何构造对象)、直接让Spring容器帮我们注入进来

    DI是什么?

     DI(Dependency Injection)翻译成中文是“依赖注入”的意思。
     所谓依赖注入,就是在 IoC 容器在运行期间,动态地将某种依赖关系注入到对象之中。所以,依赖注入(DI)和控制反转(IoC)是从不同的角度的描述的同一件事情,就是指通过引入 IoC 容器,利用依赖关系注入的方式,实现对象之间的解耦。
     IoC 是“目标”也是一种思想,而目标和思想只是一种指导原则,最终还是要有可行的落地方案,而 DI 就属于具体的实现。

    AOP

    AOP(Aspect-Oriented Programming,面向切面编程)能够将那些与业务无关,却为业务模块所共同调用的逻辑或责任(例如事务处理、日志管理、权限控制等)封装起来,便于减少系统的重复代码,降低模块间的耦合度,并有利于未来的可扩展性和可维护性。
     Spring AOP是基于动态代理的,如果要代理的对象实现了某个接口,那么Spring AOP就会使用JDK动态代理去创建代理对象;而对于没有实现接口的对象,就无法使用JDK动态代理,转而使用CGlib动态代理生成一个被代理对象的子类来作为代理。

    优点
     · 面向切面编程(AOP)提供另外一种角度来思考程序结构,通过这种方式·弥补了面向对象编程(OOP)的不足。
     · 利用AOP对业务逻辑的各个部分进行隔离,降低业务逻辑的耦合性,提高程序的可重用型和开发效率。
     · 主要用于对同一对象层次的公用行为建模

    三、SpringBoot是什么?

    起源

     SpringBoot是由Pivotal团队在2013年开始研发、2014年4月发布第一个版本的全新开源的轻量级框架
     它基于Spring4.0设计,不仅继承了Spring框架原有的优秀特性,而且还通过简化配置来进一步简化了Spring应用的整个搭建和开发过程
     另外SpringBoot通过集成大量的框架使得依赖包的版本冲突,以及引用的不稳定性等问题得到了很好的解决。

    实际上SpringBoot就是Spring下的一个子工程,是对Spring的优化,没必要过于区分。

    优点

    · 快速集成框架,Spring Boot提供了添加依赖的功能,用于秒集成各种框架;
    · 内置运行容器,无需再配置Tomcat等Web容器,可以直接运行和部署程序;
    · 快速部署项目,不需要外部容器就可以启动并运行项目;
    · 可以抛弃繁琐的XML,使用注解和配置的方式进行开发;
    · 支持更多的监控指标,可以更好的了解项目的运行情况;

    缺点

    · 创建SpringBoot项目都需要拉取相对应版本的目录,而这是需要去国外源进行拉取的,因此很容易会拉取失败导致项目创建失败http://start.spring.io/。另外也是可以配置国内源的,但是国内源的版本一般比较低https://start.aliyun.com/
    · SpringBoot的版本升级是非常快的,最快的话几天就会迭代一个版本,因此需要使用一个相对稳定的版本才可以;
    · 由于不用自己做配置(如果自己配置又会很麻烦),因此报错时很难定位

    回到目录…


    总结:
    提示:这里对文章进行总结:
    以上就是今天的学习内容,本文是JavaEE的学习,先认识比较常见的SSM框架的构成,认识了Spring、SpringBoot,它们分别有何优点。之后的学习内容将持续更新!!!

  • 相关阅读:
    大型企业——伙伴云,为什么会选择Baklib帮助中心?
    Pytest用例自定义 - 重复、并行、串行
    typescript 八叉树的简单实现
    【SpringBoot】SpringBoot自动配置底层源码解析
    Spring Boot 实现跨域的五种方式,总有一种适合你
    驱动开发:内核枚举DpcTimer定时器
    二叉树题目:二叉树剪枝
    山东2024年高企申报条件
    vue项目 H5 动态设置浏览器标题
    想知道怎么给图片加贴纸?手把手教你给图片加贴纸
  • 原文地址:https://blog.csdn.net/qq15035899256/article/details/126004135