我从事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进行开发。