当前位置:   article > 正文

SpringMVC和SpringBoot——理解与区别_springmvc和springboot的区别

springmvc和springboot的区别

理解

SpringMVC

Spring MVC是一个基于Java的实现了MVC设计模式的请求驱动类型的轻量级Web框架,通过把模 型-视图-控制器分离,将web层进行职责解耦,把复杂的web应用分成逻辑清晰的几部分,简化开发,减少出错,方便组内开发人员之间的配合

SpringBoot

Spring Boot是一个微服务框架,延续了spring框架的核心思想IOC和AOP,简化了应用的开发和部署。Spring Boot是为了简化Spring应用的创建、运行、调试、部署等而出现的,使用它可以做到专注于Spring应用的开发,而无需过多关注XML的配置。

优点

SpringMVC优点

(1)可以支持各种视图技术,而不仅仅局限于JSP; 

(2)与Spring框架集成(如IoC容器、AOP等); 

(3)清晰的角色分配:前端控制器(dispatcherServlet) , 请求到处理器映射(handlerMapping), 处理器适配器(HandlerAdapter), 视图解析器(ViewResolver);

(4) 支持各种请求资源的映射策略。


SpringBoot优点

1)依赖简化:Spring Boot自有的starter中提供了一些可以快捷使用的依赖,让整合或集成一些常用的功能更便捷;

(2)配置简化:在配置方法中,如果没有特殊情况,Spring Boot为我们提供了一些默认的配置,比如端口号默认为8080等;

(3)部署简化:可执行JAR部署,与传统服务的Web模式部署(打WAR包部署)相比,连安装Web容器的时间都节省了;

(4)监控简化:通过引用Spring Boot依赖的方式快捷提供监控端点,无代码侵入,十分便捷。
 

区别

SpringBoot是一个自动化配置的工具;SpringMVC是一个web框架;
在搭建项目时:SpringMVC需要手动配置xml文件,同时需要配置Tomcat服务器。而SpringBoot采用约定大于配置的方式,进行自动装配,同时内置服务器,打开就可以直接用。

对使用者来说,换用Spring Boot以后,项目初始化方法变了,配置文件变了,不需要单独安装Tomcat这类容器服务器,maven打出jar包直接跑起来就是个网站,但是最核心的业务逻辑实现与业务流程实现没有变化。

Spring 是一个“引擎”;

Spring MVC 是基于Spring的一个 MVC 框架;

Spring Boot 是基于Spring4的条件注册的一套快速开发整合包。

pom.xml文件配置

  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <project xmlns="http://maven.apache.org/POM/4.0.0"
  3. xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  4. xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
  5. <modelVersion>4.0.0</modelVersion>
  6. <groupId>包名</groupId>
  7. <artifactId>项目名</artifactId>
  8. <version>项目版本号</version>
  9. <parent>
  10. <artifactId>spring-boot-dependencies</artifactId>
  11. <groupId>org.springframework.boot</groupId>
  12. <version>2.3.3.RELEASE</version>
  13. </parent>
  14. <!--统一编码和JAVA版本-->
  15. <properties>
  16. <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
  17. <maven.compiler.source>1.8</maven.compiler.source>
  18. <maven.compiler.target>1.8</maven.compiler.target>
  19. <java.version>1.8</java.version>
  20. </properties>
  21. <dependencies>
  22. <!--MySQL 连接组件-->
  23. <dependency>
  24. <groupId>mysql</groupId>
  25. <artifactId>mysql-connector-java</artifactId>
  26. </dependency>
  27. <!--MyBaits-->
  28. <dependency>
  29. <groupId>org.mybatis.spring.boot</groupId>
  30. <artifactId>mybatis-spring-boot-starter</artifactId>
  31. <version>2.1.2</version>
  32. </dependency>
  33. <!--Druid-->
  34. <dependency>
  35. <groupId>com.alibaba</groupId>
  36. <artifactId>druid</artifactId>
  37. <version>1.2.2</version>
  38. </dependency>
  39. <!-- Druid Spring Boot 组件-->
  40. <dependency>
  41. <groupId>com.alibaba</groupId>
  42. <artifactId>druid-spring-boot-starter</artifactId>
  43. <version>1.2.2</version>
  44. </dependency>
  45. <!--Spring Boot Aop-->
  46. <dependency>
  47. <groupId>org.springframework.boot</groupId>
  48. <artifactId>spring-boot-starter-aop</artifactId>
  49. </dependency>
  50. <!--Spring Validation-->
  51. <dependency>
  52. <groupId>org.springframework.boot</groupId>
  53. <artifactId>spring-boot-starter-validation</artifactId>
  54. </dependency>
  55. <!--Spring Boot 测试-->
  56. <dependency>
  57. <groupId>org.springframework.boot</groupId>
  58. <artifactId>spring-boot-starter-test</artifactId>
  59. <scope>test</scope>
  60. <exclusions>
  61. <exclusion>
  62. <groupId>org.junit.vintage</groupId>
  63. <artifactId>junit-vintage-engine</artifactId>
  64. </exclusion>
  65. </exclusions>
  66. </dependency>
  67. <!--Junit-->
  68. <dependency>
  69. <groupId>org.junit.jupiter</groupId>
  70. <artifactId>junit-jupiter</artifactId>
  71. <scope>test</scope>
  72. </dependency>
  73. <!--LomBok-->
  74. <dependency>
  75. <groupId>org.projectlombok</groupId>
  76. <artifactId>lombok</artifactId>
  77. </dependency>
  78. <!--Hutool-->
  79. <dependency>
  80. <groupId>cn.hutool</groupId>
  81. <artifactId>hutool-all</artifactId>
  82. <version>5.4.7</version>
  83. </dependency>
  84. <!--Spring Boot Web-->
  85. <dependency>
  86. <groupId>org.springframework.boot</groupId>
  87. <artifactId>spring-boot-starter-web</artifactId>
  88. </dependency>
  89. <!--Spring Boot Actuator-->
  90. <dependency>
  91. <groupId>org.springframework.boot</groupId>
  92. <artifactId>spring-boot-starter-actuator</artifactId>
  93. </dependency>
  94. <!-- https://mvnrepository.com/artifact/com.alibaba/fastjson -->
  95. <dependency>
  96. <groupId>com.alibaba</groupId>
  97. <artifactId>fastjson</artifactId>
  98. <version>1.2.78</version>
  99. </dependency>
  100. <!--Junit测试-->
  101. <dependency>
  102. <groupId>junit</groupId>
  103. <artifactId>junit</artifactId>
  104. <scope>test</scope>
  105. </dependency>
  106. </dependencies>
  107. <build>
  108. <plugins>
  109. <plugin>
  110. <groupId>org.springframework.boot</groupId>
  111. <artifactId>spring-boot-maven-plugin</artifactId>
  112. <executions>
  113. <execution>
  114. <goals>
  115. <goal>repackage</goal>
  116. </goals>
  117. </execution>
  118. </executions>
  119. </plugin>
  120. </plugins>
  121. </build>
  122. <profiles>
  123. <profile>
  124. <id>dev</id>
  125. <activation>
  126. <activeByDefault>true</activeByDefault>
  127. </activation>
  128. <properties>
  129. <profilesActive>dev</profilesActive>
  130. </properties>
  131. </profile>
  132. <profile>
  133. <id>pro</id>
  134. <properties>
  135. <profilesActive>pro</profilesActive>
  136. </properties>
  137. </profile>
  138. </profiles>
  139. </project>

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/花生_TL007/article/detail/305965
推荐阅读
相关标签
  

闽ICP备14008679号