springmvc与springboot的优劣比较

来源 xiaqo.com

最近一个项目中,我用的springmvc开发的。
但是,项目是交由其他同事,以后也是交给客户自己部署。
发现一个比较麻烦的问题。

首先,Tomcat我需要配置好,配置端口文件,配置指向外部war包文件。
重启Tomcat的时候,还有各种缓存清理。
这样导致部署起来十分麻烦。

其次,springmvc本身,有很多的xml文件要配置,比如mvc部分, 比如config部分。
配置好了,在web.xml里,也要做好配置工作。
相对来讲,很麻烦了。

除了以上两点,还有:
SpringMVC的优点:
(1)使用简单,学习成本低。
(2)很容易就可以写出性能优秀的程序.
(3)灵活性强,Spring MVC的框架易扩展。
SpringMVC的缺点:
(1)Spring与MVC 的Servlet API 耦合,难以脱离容器独立运行。
(2)太过于细分,开发效率低。
(3)过度追求完美,有过度设计的危险解决的问题领域是:网站应用程序或者服务开发——URL路由、Session、模板引擎、静态Web资源等等。

Spring Boot的核心功能:
(1)独立运行的Spring项目
Spring Boot可以以jar包的形式进行独立的运行,使用:java -jar xx.jar 就可以成功的运行项目,或者在应用项目的主程序中运行main函数即可;
(2)内嵌的Servlet容器
内嵌容器,使得我们可以执行运行项目的主程序main函数,并让项目的快速运行
(3)提供starter简化Manen配置
Spring Boot提供了一系列的starter pom用来简化我们的Maven依赖
(4)自动配置Spring
Spring Boot会根据我们项目中类路径的jar包/类,为jar包的类进行自动配置Bean,这样一来就大大的简化了我们的配置。当然,这只是Spring考虑到的大多数的使用场景,在一些特殊情况,我们还需要自定义自动配置;
(5)应用监控
Spring Boot提供了基于http、ssh、telnet对运行时的项目进行监控;

springboot 要解决的问题:
1.如何精简配置;如何让编码、部署、监控变简单;
2.如何方便的让spring生态圈和其他工具链整合;

优点:
1.对新手来说,无需任何门槛,只要懂Maven[的新手]会看文档就能亦步亦趋的开始一个新项目;
2.对高手来说,改配置也是分分钟的事。另外fat jar的打包方式让部署方式变得优雅。
缺点:
1.就是简单的背后蕴藏了巨大的学习曲线。入门容易,但是如果没有完整学习spring的体系,碰到问题就一脸懵逼。如果没有一定的经验,根本就不知道springboot自动做了什么。

SpingMVC与SpringBoot的联系与区别:
联系:
Spring 最初利用“工厂模式”( DI )和“代理模式”( AOP )解耦应用组件。按照这种模式搞了一个 MVC 框架(一些用 Spring 解耦的组件),用开发 web 应用( SpringMVC )。后来发现每次开发都要搞很多依赖,写很多样板代码,使代码臃肿而麻烦,于是聪明的前人整理了一些懒人整合包( starter ),这套就是 Spring Boot 。
区别:
Spring MVC 是基于 Servlet 的一个 MVC框架 主要解决 WEB 开发的问题 但关于Spring 的配置比较 ;
而Spring boot 的原则是:约定优于配置 ,可以极大地简化了 spring 的配置流程。

基于以上原因,我觉得学习springboot是势在必行了。
另外,现在流行前后端分离,分布式部署,集群化服务,springboot已经成为不可不学的东西了。
————————————————
版权声明:本文为CSDN博主「普通网友」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/m0_67401055/article/details/124443397

猜你喜欢

转载自blog.csdn.net/2301_79354153/article/details/134781740