Spring和SpringMVC以及SpringBoot的区别

Spring和SpringMVC以及SpringBoot的区别Spring是一个开源框架,为简化企业级应用开发而生。Spring可以是使简单的JavaBean实现以前只有EJB才能实现的功能。Spring是一个IOC和AOP容器框架。Spring容器的主要核心是:控制反转(IOC),传统的java开发模式中,当需要一个对象时,我们会自己使用new或者getInstance等直接或者间接调用构造方法创建一个对象。而在…

大家好,又见面了,我是你们的朋友全栈君。

Spring 是一个开源框架,为简化企业级应用开发而生。Spring 可以是使简单的 JavaBean 实现以前只有 EJB 才能
实现的功能。Spring 是一个 IOC 和 AOP 容器框架。
Spring 容器的主要核心是:
控制反转(IOC),传统的 java 开发模式中,当需要一个对象时,我们会自己使用 new 或者 getInstance 等直接
或者间接调用构造方法创建一个对象。而在 spring 开发模式中,spring 容器使用了工厂模式为我们创建了所需要的对
象,不需要我们自己创建了,直接调用 spring 提供的对象就可以了,这是控制反转的思想。
依赖注入(DI),spring 使用 javaBean 对象的 set 方法或者带参数的构造方法为我们在创建所需对象时将其属
性自动设置所需要的值的过程,就是依赖注入的思想。
面向切面编程(AOP),在面向对象编程(oop)思想中,我们将事物纵向抽成一个个的对象。而在面向切面编程
中,我们将一个个的对象某些类似的方面横向抽成一个切面,对这个切面进行一些如权限控制、事物管理,记录日志等
公用操作处理的过程就是面向切面编程的思想。AOP 底层是动态代理,如果是接口采用 JDK 动态代理,如果是类采用
CGLIB 方式实现动态代理。

而SpringMVC是SpringMVC是基于Spring功能之上添加的Web框架,想用SpringMVC必须先依赖Spring。 

SpringMVC是一个类似于struts的MVC模式的WEB开发框架;

Spring是一个通用解决方案, 最大的用处就是通过Ioc/AOP解耦, 降低软件复杂性, 所以Spring可以结合SpringMVC等很多其他解决方案一起使用, 不仅仅只适用于WEB开发

SpringBoot不是Spring官方的框架模式,而是一个团队在Spring4.0版本上二次开发并开源公布出来的。简而言之,SpringBoot就是一个轻量级,简化配置和开发流程的web整合框架,我们可以说是因为SpringBoot才有了Spring这么火。

那么SpringBoot和Spring有什么区别呢?

  1. Spring Boot可以建立独立的Spring应用程序;
  2. 内嵌了如Tomcat,Jetty和Undertow这样的容器,也就是说可以直接跑起来,用不着再做部署工作了;
  3. 无需再像Spring那样搞一堆繁琐的xml文件的配置;
  4. 可以自动配置(核心)Spring。SpringBoot将原有的XML配置改为Java配置,将bean注入改为使用注解注入的方式(@Autowire),并将多个xml、properties配置浓缩在一个appliaction.yml配置文件中。
  5. 提供了一些现有的功能,如量度工具,表单数据验证以及一些外部配置这样的一些第三方功能;
  6. 整合常用依赖(开发库,例如spring-webmvc、jackson-json、validation-api和tomcat等),提供的POM可以简化Maven的配置。当我们引入核心依赖时,SpringBoot会自引入其他依赖。
     

 

 

 

 

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/144139.html原文链接:https://javaforall.net

(0)
上一篇 2022年5月20日 上午7:40
下一篇 2022年5月20日 上午7:40


相关推荐

  • tomcat部署war包出错解决方案

    tomcat部署war包出错解决方案tomcat部署war包出错解决方案,最最简单直接明了的方法,卸载重新再装一遍笔者重装了56遍算是整好了,写篇博客,希望你萌,少走弯路。这是我走的弯路https下载,安装,配置及部署war包出错解决方案1.jdk的安装及配置2,tomcat安装配置3.部署war包3.1将war包放入Tomcat中3.2修改server.xml4启动tomcat4.1war包的数据库密码与本地数…

    2022年6月8日
    105
  • return 0和return 1和return -1的区别「建议收藏」

    return 0和return 1和return -1的区别「建议收藏」1、返回值int类型的函数返回:return语句用来结束循环,或返回一个函数的值。return0:一般用在主函数结束时,按照程序开发的一般惯例,表示成功完成本函数。return-1::表示返回一个代数值,一般用在子函数结尾。按照程序开发的一般惯例,表示该函数失败;以上两个是约定俗成,系统提供的函数绝大部分定义为int类型返回值的都是这样的。返回值是返回给系统用的,给…

    2022年10月21日
    6
  • PHP declare 之 strict_types=1

    PHP declare 之 strict_types=1

    2021年10月30日
    87
  • 中国剩余定理 && 扩展中国剩余定理

    中国剩余定理 && 扩展中国剩余定理同余

    2026年3月19日
    2
  • python setattr函数_Python内置函数(53)——setattr「建议收藏」

    python setattr函数_Python内置函数(53)——setattr「建议收藏」英文文档:setattr(object,name,value)Thisisthecounterpartofgetattr().Theargumentsareanobject,astringandanarbitraryvalue.Thestringmaynameanexistingattributeoranewattribute.Thef…

    2025年7月21日
    7
  • docker 常用命令_常用docker命令

    docker 常用命令_常用docker命令文章目录Docker命令总结docker常用命令docker命令大全常用命令由个人学习总结。命令大全翻译自官方最新(2021.05.19)文档,如有错误,请参阅官网。感谢纠正!Docker命令总结Docker官方帮助文档docker常用命令#info|versiondockerinfo#显示docker的系统信息,包括镜像和容器的数量dockerversion#显示docker的版本信息。#帮助命令docker命令–help#帮助命令#镜像命令d

    2025年11月24日
    4

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号