JAVA后台开发,用spring boot好,还是继续用spring MVC好?
您好,我从事Java开发8年+,目前正使用SpringBoot进行服务端微服务开发。毋庸置疑,java后台开发在spring生态下,用SpringBoot显然比SpringMVC好。
实际上是不能拿SpringMVC和SpringBoot去做比较的。SpringBoot和SpringMVC是包含的关系,SpringBoot下面有很多模块,譬如下图这些:
还有这些:
以及这些:
所以不要觉得SpringBoot就仅仅是SpringMVC,SpringMVC在SpringBoot中充其量就是一个spring-boot-starter-web模块而已。
所以题主应该考虑的是web层我到底是用SpringMVC还是用SpringBoot中的spring-boot-starter-web模块呢?
SpringMVC
Spring MVC提供了一种轻度耦合的方式来开发web应用。它是Spring的一个模块,是一个web框架。核心就是Dispatcher Servlet, ModelAndView 和 View Resolver这三大模块,让大家开发web应用变得很容易。目前无论是直接用SpringMVC还是用SpringBoot中的web模块,其实都是用的SpringMVC,只不过SpringBoot无需配置,添加一些指定的注解即可。
SpringBoot
Spring Boot实现了自动配置,降低了项目搭建那些繁琐的步骤和配置,这些东西往往容易出错。所以SpringBoot把这些都给整合起来了,可以把它当做一个各种框架、中间件甚至工具的整合包,开箱即用,一个依赖,几个注解即可开始开发。
一定要认清的是SpringBoot不是解决Spring的方案,只是简化了Spring框架生态下的整合步骤和效率。
总结
现在大多数公司已经直接使用SpringBoot去做后台开发了,除了一些老旧系统,新的系统基本上都会采用SpringBoot去整合开发。SpringCloud、微服务等对SpringBoot的支持都比较好。同样在招聘需求里,SpringBoot也是必须会的一个框架。
综上,个人建议采用SpringBoot替代SpringMVC进行开发。
如果不上spring cloud的话,那么:
你这个单体系统如果比较庞大,用springMVC;
如果比较小,则使用boot。
如果上cloud,那么不用说了。
boot缺少xml配置,开发复杂系统会很麻烦,Java代码里各种配置项,比较乱,,只是用@Bean替换了xml-bean,,而且boot会有很多auto configuration,如果你不熟,会有很多不明白的地方。。。
Java后台开发现在当然是采用spring boot好
spring boot是为了简化spring、spring mvc框架繁琐的配置而诞生的,它整合了spring mvc、spring security等spring全家桶,还包括redis、neo4j、mysql、elasticsearch、couchbase等常用的中间件。
Java
传统的spring mvc项目需要自己配置xml文件,还需要单独配置tomcat服务器,xml的配置非常繁琐,spring boot开箱即用、约定优于配置。你创建一个spring boot项目,不需要配置就可以运行服务,一些配置已经有默认值了,如果你想修改可以自己定义。这就是spring boot的好处,可以使用默认值,想自己定义也可以。
spring boot
spring boot项目内嵌tomcat、undertow、jetty等容器,不需要单独的服务器,项目可以直接打包成jar包,运行、部署都很方便。
现在比较火的微服务spring cloud也是基于spring boot项目的,spring boot项目方便整合网关、注册中心等,传统的spring mvc适合单体应用,不适合微服务。
spring cloud架构
所以Java后台开发采用spring boot比较好,如果有spring mvc的经验可以很快掌握spring boot的使用,spring boot要比传统的spring mvc方式要简单很多,spring boot的出现是为了简化spring项目的配置。在spring boot项目中同样可以使用spring mvc,只不过是spring boot整合了spring mvc使用更简单了。
spring boot
新项目一定要放弃传统的spring mvc方式,采用spring boot。
Java作为当下最流行的编程开发语言,其地位是其它语言短时间内无法撼动的,这几十年的积累让Java的生态圈变得很完善,因而Java界也有很多优秀的框架,这几年Spring框架的出现让Java开发变得更容易。
Spring框架为Java开发提供了完美的解决方案,Spring全家桶中的Spring MVC和Spring Boot 都可以用来开发Java Web项目,那开发者该如何选择呢?
Spring MVC与Spring Boot介绍与关系
1、Spring MVC是一款MVC框架
Spring MVC它是一款Web MVC框架,Spring MVC采用的是POJO模式,通过强大的依懒注入功能使得MVC分层开发更为容易。
2、Spring Boot是一种集成工具组合
Spring Boot主要是为了简化Spring项目的创建、运行及部署而推出的,虽说Spring应用的注解功能很强大,但依旧避免不了过多的XML配置。Spring Boot采用了“约定优于配置”的思想,可以做到零配置就能创建Spring应用,使开发者从繁琐的配置中解脱出来。
Spring Boot本身并不是一种新的技术,可以把它理解成是基于Spring的一套快速开发工具集合(集成了大量常用的第三方库配置,如:Jackson, JDBC, Mongo, Redis, Mail等)。
可以把Spring Boot理解成Spring MVC的升级(但不是简单的升级)。
Spring MVC与Spring Boot如何选择?
如上所述,Spring Boot无论是定位还是功能上都比Spring MVC要好,那是不是意味着我们只用Spring Boot就行了呢?答案是否定的。
对于刚接触Java Web开发的朋友来说,Spring MVC是必须要掌握的,虽说配置麻烦,但掌握了它可以让你对Java Web开发及MVC模式有更深层的认知。如果不曾了解Spring MVC就直接用Spring Boot,可能出了问题都不知道怎么排查。
对于项目选型来说,不管是老项目升级还是新项目,请选择Spring Boot,放弃Spring MVC。
以上就是我的观点,对于这个问题大家是怎么看待的呢?欢迎在下方评论区交流 ~ 我是科技领域创作者,十年互联网从业经验,欢迎关注我了解更多科技知识!