[云驻共创]javaweb、Spring、SpringMVC和SpringBoot 有什么区别,都是做什么用的?

举报
多米诺的古牌 发表于 2022/08/28 10:06:49 2022/08/28
【摘要】 JavaWeb、Spring、SpringMVC和SpringBoot有什么区别,都是做什么用的? 其实它们都是在java语言大环境下的不同应用或者是为了便利于开发的不同封装,下面的文章中我们将对它们进行详细的介绍。

JavaWeb、Spring、SpringMVC和SpringBoot有什么区别,都是做什么用的? 其实它们都是在java语言大环境下的不同应用或者是为了便利于开发的不同封装,下面的文章中我们将对它们进行详细的介绍。

1. Java是什么

1.1 Java简介

       Java是一门面向对象 的编程语言,并且是一门支持跨平台使用的语言。那么它是怎么做到的呢?过程是这样的,Java代码在被编译之后,是不能直接执行的,而是产生一种叫ByteCode的中间码,这种中间码是通过Java虚拟机来运行才能够真正地被执行的,所以只要平台上装Java虚拟机就能解读ByteCode中间码,从而执行Java语言编写的程序,达到一处编写处处运行这种跨平台的效果。

1.2 Java应用场景

       Java语言作为一种非常稳定高效的语言,其应用场景也是非常非常广泛的。比如:

      嵌入式 领域,最初Java语言是为了嵌入式设备而设计的,应用思想也充分体现在了“一处编写,随处运行”这一主旨上;

      大数据 技术领域,Hadoop 和其他的大数据技术在不同程度使用着Java语言;

      Web网站应用,由于有非常丰富的技术积累、各式各样的开源类库、框架、技术等,非常便利于开发,并且上手也相对比较容易,所以被广泛应用于各个行业的网站开发之中。

      移动端的应用,因为AndroidAPI和java的jdk非常类似,并且AndroidAPI也完全是Java语言编写的,所以在Android开发过程中也是会大量使用着Java语言。

      还涉及到的领域有很多很多,此处就不再多余赘述,我们本篇中主要讲述Web网站应用中的相关小知识。

2. JavaWeb是什么

2.1 JavaWeb简介

      JavaWeb是Java三大应用场景中的JavaEE(JavaEnterpriseEdition),Java的企业版的相关应用,从web这个词语中就可以分析出肯定是和web网站相关的事物。也正是如此,JavaWeb指的就是Java语言开发出来可以在万维网上访问浏览的程序,即应用于通过Java语言构建的web网站。

      原理是这样的,web通过一系列的通信实现与Java语言编写的程序的交互,其中Java作为的后台服务器,进行业务逻辑等的处理,中间层进行数据的交互,最后通过web浏览器将通过后端服务器处理后的不同页面显示给用户。

3. SpringMVC是什么

3.1 SpringMVC简介

      如果需要开发一款web应用,语言我们选择了Java,那么接下来就需要相应的技术架构了,而最热门最流行的框架也就是Spring框架了,他带来了Java开发的一系列变革,简化了开发流程和开发中存在的一系列问题,使构建Web应用程序变得快速而轻松。

       而Spring框架也被我们戏称为Spring全家桶,他下面根据不同的开发侧重点又被分为不同应用框架。下图便是Spring官网中全家桶的能做到所有场景,以及Spring全家桶的各个成员。

       虽然种类各种各样,但它们的基础都是Spring的ioc和aop思想,ioc提供了依赖注入的容器,而aop则是解决了面向横切面的编程,在这两者技术的基础上又实现了其他的延伸产品从而造就了这个不同的全家桶成员。

       但是我们在上面官网的全家桶成员并没有找到我们要了解的SpringMVC,看名字应该也是相关的成员才对的。其实SpringMVC属于SpringFrameWork的后续产品,是Spring的一个模块。它提供了一种轻度耦合的方式来开发web应用,本质上也是一种从Spring框架中衍生的一种更加便利的开发框架。它是通过Dispatcher Servlet(调度器), ModelAndView(处理视图和模型间的关系) 和 View Resolver(视图解析器)等来替代servlet处理响应请求、获取表单参数、表单校验等复杂的开发流程,从而更便利的来完成web应用的开发工作的。

4. SpringBoot是什么

4.1 SpringBoot简介

       SpringBoot也是Spring全家桶中的一员,是目前在web网站开中最常用的一种开发框架。它最大的亮点是实现了一种叫做自动配置的功能什么意思呢?就是将很多需要我们人工配置的参数呀,类型呀,各种联动等等都自动地帮助我们配置好了,我们只需要引入相关的依赖、输入相关的注解等就可以实现开箱即用的效果,极大地降低了项目搭建的难度

4.2 SpringBoot特殊之处

       从功能上来说好像SpringBoot框架的功能和Spring框架的功能差不多只是多了一个自动装配的功能,然而就是因为这个自动装配的功能,让大多数原生Spring开发的人员转投入SpringBoot框架怀抱之中。

       我们知道Spring框架简化了我们许多开发流程也极大地降低了开发的难度,但是要使用Spring框架进行开发需要进行许多繁琐的配置,里面如果有某个配置稍微配置不对,就会报各种奇怪的错误,这就造成了常常为了配置好一个项目中的某个配置项而浪费很多很多时间,非常让人头疼。

       此时SpringBoot框架就应运而生了,它的诞生就是为了解决使用Spring框架的时候各种繁琐的配置问题。同时它集成了大量常用的第三方类库配置在使用SpringBoot开发的过程中,只需要通过一些简单的引用和属性的设置,就可以做到几乎零配置的开箱即用这些第三方类库

       在从SpringMVC框架转换到SpringBoot框架后我们发现最核心的业务逻辑实现与业务流程实现没有任何变化。变化了的只是配置变得简单了,需要单独安装Tomcat这类容器服务器了maven打出jar包直接运行起来就是web应用了,生活一下子变得美好起来

5. JavaWeb、Spring、SpringMVC和SpringBoot的区别和总结

5.1 区别

       通过上面的文章我们了解到JavaWeb、Spring、SpringMVC都是干什么的,也大概地了解到了它们之间的关系。现在我们进行一下总结看看它们之间的区别。

       首先它们都是在Java语言环境下为了web项目中更好的开发而被创造出来的。

      JavaWeb就是代表着Java语言开发的web方面的应用,而我们要开发JavaWeb应用,使用原生的Java语言去开发是非常繁琐,难度也是非常大的事情。

此时Spring框架出现了,web应用中的开发也变得简单便捷起来,但是我们在进度,为了更好地开发体验,我们由Spring框架衍生出了SpringMVC框架,再一次简化了工作流程,然而我们在开发的过程中还需要配置很多配置项,常常因为一个简单项目,但是由于其中一个配置没配好,而耽误一整天的时间。

        这时我们又创造了SpringBoot框架,通过它的自动装配原理,只需要简简单单几步就可以实现开箱即用,我们的工作流程又一次得到了优化,不用再关注繁琐的配置,只需要专注于业务代码的开发就行了,让开发的体验一下子上升了好多好多。

5.2 总结

        概括起来就是JavaWeb是Java语言的开发的web项目;SpringMVC是基于Spring框架简化开发中的工作流程的一种衍生SpringBoot为了解决Spring框架开发中繁琐的配置项,让开发变得更简单和便捷的又一次优化以上就是对JavaWeb、Spring、SpringMVC它们之间的简单了解和总结。

本文参与华为云社区【内容共创】活动第19期。
https://bbs.huaweicloud.com/blogs/370132

任务30: javaweb、spring、springmvc和springboot有什么区别,都是做什么用的?

【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。