Spring Boot 和 Spring MVC 并不冲突,不是说你用了 Spring Boot 就不能用 Spring MVC,反过来也一样,我建议是将项目升级到 Spring Boot,并引入 spring-boot-starter-web 即可。
01. 理清 Spring Boot 和 Spring MVC 的关系
Spring 是一个大家族,包含了一系列的框架;
我们经常说到的 Spring 是指 Spring Framework,它的基础就是我们熟知的 IoC 和 AOP,其中 IoC 提供了依赖注入的容器,AOP 提供了面向切面的编程;
Spring MVC 提供了模型-视图-控制模式的开发组件,可以让前端视图、输入逻辑和业务逻辑分离;
随着 Spring 能够支持的组件越来越多,需要引入的配置文件也越来越多,为了简化项目搭建的复杂度,诞生了 Spring Boot ,它本身并不提供 Spring 的核心特性和扩展功能,而是可以快速方便地与 Spring 的其他框架进行整合,提升开发人员的效率和体验。
02. 为什么要用 Spring Boot
-
让开发更快:使用 Spring Boot ,可以快速地与大部分主流框架的集成,由于约定优于配置的思想,在集成过程中只需要少量的配置,开发人员可以专注于业务逻辑的实现;
-
让测试更快:Spring Boot 支持多种测试框架,比如 JUnit、Spring Test、Mockito 等等,开发人员只需要引入 spring-boot-start-test,就可以对数据库、Mock 等进行测试;
-
让部署发布更快:Spring Boot 是内置容器的,也就是使用了 Spring Boot 的项目可以直接运行启动,而不需要关心容器环境的问题。
03. Spring MVC 项目迁移到 Spring Boot
将 Spring MVC 项目转移到 Spring Boot 也是比较简单的,在此过程中需要注意以下几点:
-
如果项目不是基于 Maven 构建的,需要先将普通的 Java Web 项目转成 Maven 工程;
-
在 pom.xml 文件中添加 spring-boot-starter 相关依赖;比如 Spring MVC 就需要引入 spring-boot-starter-web ;
-
新增启动类 Application.java ,这是 Spring Boot 项目启动的入口;
-
如果项目中有继承了 ContextLoaderListener 的监听类,需要进行修改;
-
修改数据源的配置,只需要在 yml 或 properties 增加配置即可;
-
日志输出的配置,Spring Boot 默认是使用 logback 框架的;
-
使用 WebConfig 替代 web.xml 和 spring-mvc.xml 等配置文件。
我将持续分享Java开发、架构设计、程序员职业发展等方面的见解,希望能得到你的关注。
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。
以上就是我的观点,对于大家是怎么看待的呢?欢迎在下方评论区交流 ~ 我是科技领域创作者,十年互联网从业经验,欢迎关注我了解更多科技知识!
原创文章,作者:普尔小编,如若转载,请注明出处:http://www.puerpx.cn/pxwd/3667.html