广告
返回顶部
首页 > 资讯 > 精选 >Spring中Spring Boot与Spring MVC的核心概念是什么
  • 308
分享到

Spring中Spring Boot与Spring MVC的核心概念是什么

2023-06-29 13:06:36 308人浏览 薄情痞子
摘要

这篇文章主要介绍了spring中Spring Boot与Spring mvc的核心概念是什么的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇Spring中Spring Boot与Sp

这篇文章主要介绍了spring中Spring Boot与Spring mvc的核心概念是什么的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇Spring中Spring Boot与Spring MVC的核心概念是什么文章都会有所收获,下面我们一起来看看吧。

一、Spring Boot 、 Spring MVC 、Spring对比

首先你需要明白一件事情:Spring Boot项目目的并不是替换Spring、springMVC,而是使他们用起来更加简单。

Spring 框架

Spring框架最核心的特性就是依赖注入DI(Dependency Injecttion)和控制反转ioc(Inversion Of Control)。如果你能够合理的使用DI和IOC,可以开发出松耦合、扩展性好的的应用程序。

Spring中Spring Boot与Spring MVC的核心概念是什么

Spring MVC

Spring MVC提供了一种友好的方式来开发WEB应用程序。 通过使用诸如Dispatcher Servlet,ModelAndView和View Resolver,可以轻松开发Web应用程序。

Spring Boot

Spring 和 Spring MVC最大的弊病在于存在大量的配置,并且这些配置在不同的项目中具有很高的相似性。从而导致重复配置,繁琐而且杂乱!

Spring中Spring Boot与Spring MVC的核心概念是什么

Spring Boot期望通过结合自动配置和starters来解决了这个问题。 另外,Spring Boot还提供了一些功能,可以更快地构建可用于生产环境的应用程序。

二、Spring Boot 自动配置

Spring和Spring MVC应用程序里面有大量的XML或Java Bean配置。Spring Boot为解决这个问题,提供一种新的解决方案,新的思维方式。

Spring中Spring Boot与Spring MVC的核心概念是什么

SpringBoot思考的方式:是不是可以更加智能一点,当Spring中加入一些新的jar包,加入一些配置,可以自动的影响应用内的bean的加载。 比如:Spring MVC JAR位于类路径中时,自动配置Dispatcher Servlet。当然,当这些自动的默认配置不符合我们的要求的时候,我们可以修改。修改之前加载的这一些Bean,配置修改之后会自动加载另外一些Bean。

三、什么是Spring Boot Starter?

Spring Boot Starter是一组被依赖第三方类库的集合

如果你要开发一个web应用程序,就通过包管理工具(如Maven)引入spring-boot-starter-web就可以了,而不用分别引入下面这么多依赖类库,spring-boot-starter-web一次性帮你引入下面的这些常用类库。

  • Spring — spring 核心, beans, context上下文, aop面向切面

  • Web MVC — Spring MVC

  • Jackson — JSON数据的序列化与反序列化

  • Validation — Hibernate参数校验及校验api

  • 嵌入式 Servlet Container — Tomcat

  • 日志框架Logging — logback, slf4j

Spring中Spring Boot与Spring MVC的核心概念是什么

四、什么是Spring Boot Starter Parent

所有的Spring Boot项目默认使用spring-boot-starter-parent作为应用程序的父项目。

<parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-parent</artifactId> <version>2.0.0.RELEASE</version></parent>

继承父项目的好处在于: 统一java版本配置和其他的一些依赖类库的版本。也就是说,你引入的第三方类库不要加版本号,父项目替你管理版本,而且是经过兼容性测试的。比你自己随便引入一个版本兼容性更好。

当然父项目只能帮你管理一些常用类库的版本,如果你引入一些不常用的jar,还是要自己管理版本号及兼容性!

五、嵌入式web容器

Spring boot打成jar包,默认包含嵌入式的web容器:tomcat。你可以简单的使用如下命令启动一个web服务:

java -jar springboot-demo.jar

这更有利于微服务的部署及微服务的构建、启动、扩容。Spring Boot还支持Jetty和Undertow作为web容器。

六、Spring Data

Spring中Spring Boot与Spring MVC的核心概念是什么

Spring Data的目标是提供一种更友好的方式或者是API来存取数据。包括对于关系型数据库NOSQL数据的支持。比如:

  • Spring Data JPA &mdash; 关系型数据库操作的API,友好且易于使用

  • Spring Data MongoDB -mongoDB的操作API

  • Spring Data REST &mdash; 从持久层Repositories自动生成服务层API,暴露 REST APIs 接口。超级好用!

当然,Spring Data还有更多好用的特性和支持等待你去探索!

七、spring boot2.x新特性

7.1.基础环境升级

  • 最低 jdk 8,支持 JDK 9,不再支持 Java 6 和 7。Spring Boot 2.0 要求 Java 8 作为最低版本,许多现有的 API 已更新,以利用 Java 8 的特性。
    例如,接口上的默认方法,函数回调以及新的 API,如 javax.time。

  • 如果你正在使用 Java 7 或更早版本,则在开发 Spring Boot 2.0 应用程序之前,需要升级你的 JDK。

7.2.依赖组件升级

  • Jetty 9.4,Jetty 是一个开源的 Servlet 容器,它为基于 Java 的 Web 内容,例如 jsP 和 Servlet 提供运行环境。Jetty 是使用 Java 语言编写的,它的 API 以一组 JAR 包的形式发布。

  • Tomcat 8.5,Apache Tomcat 8.5.x 旨在取代 8.0.x,完全支持 Java 9。

  • Flyway 5,Flyway 是独立于数据库的应用、管理并跟踪数据库变更的数据库版本管理工具。用通俗的话讲,Flyway 可以像 SVN 管理不同人的代码那样,管理不同人的 sql 脚本,从而做到数据库同步。

  • Hibernate 5.2,Hibernate 是一款非常流行的 ORM 框架。

  • Gradle 3.4,Spring Boot 的 Gradle 插件在很大程度上已被重写,有了重大的改进。

  • Thymeleaf 3.0,Thymeleaf 3 相对于 Thymeleaf 2 有非常大的性能提升。

7.3. 默认软件替换

  • 默认数据库连接池已从 Tomcat 切换到 HikariCP,HikariCP 是一个高性能的 JDBC 连接池,Hikari 是日语“光”的意思。

  • redis客户端默认使用 Lettuce,替换掉Jedis.Lettuce 是一个可伸缩的线程安全Redis 客户端,用于同步、异步和反应使用。多个线程可以共享同一个 RedisConnection,它利用优秀 Netty NIO 框架来高效地管理多个连接,支持先进的 Redis 功能,如 Sentinel、集群、流水线、自动重新连接和 Redis 数据模型。

7.4.新技术的引入

  • 响应式编程WebFlux,重要的变革,后续章节会详细展示

  • 支持 Quartz,Spring Boot 1.0 并没有提供对 Quartz 的支持,之前出现了各种集成方案,Spring Boot 2.0 给出了最简单的集成方式。

  • Kotlin 的支持

  • JOOQ 的支持,JOOQ 是基于 Java 访问关系型数据库的工具包。JOOQ 既吸取了传统 ORM 操作数据的简单性和安全性,又保留了原生 SQL 的灵活性,它更像是介于 ORMS 和 JDBC 的中间层。

7.5.彩蛋

在 Spring Boot 1.0 项目中 src/main/resources 路径下新建一个 banner.txt 文件,文件中写入一些字符,启动项目时就会发现默认的 Banner 被替换了,到了 Spring Boot 2.0 现在可以支持 Gif 文件的打印,Spring Boot 2.0 在项目启动的时候,会将 Gif 图片的每一个画面,按照顺序打印在日志中,所有的画面打印完毕后,才会启动 Spring Boot 项目。

关于“Spring中Spring Boot与Spring MVC的核心概念是什么”这篇文章的内容就介绍到这里,感谢各位的阅读!相信大家对“Spring中Spring Boot与Spring MVC的核心概念是什么”知识都有一定的了解,大家如果还想学习更多知识,欢迎关注编程网精选频道。

--结束END--

本文标题: Spring中Spring Boot与Spring MVC的核心概念是什么

本文链接: https://www.lsjlt.com/news/325026.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • Spring中Spring Boot与Spring MVC的核心概念是什么
    这篇文章主要介绍了Spring中Spring Boot与Spring MVC的核心概念是什么的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇Spring中Spring Boot与Sp...
    99+
    2023-06-29
  • Spring Boot与Spring MVC Spring对比及核心概念
    目录一、SpringBoot、SpringMVC、Spring对比Spring框架SpringMVCSpringBoot二、SpringBoot自动配置三、什么是SpringBoot...
    99+
    2022-11-13
  • Spring IOC与DI核心概念是什么
    这篇文章主要介绍“Spring IOC与DI核心概念是什么”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“Spring IOC与DI核心概念是什么”文章能帮助大家解决问题。深入理解...
    99+
    2023-07-05
  • Spring与Spring Boot核心区别是什么
    本篇内容介绍了“Spring与Spring Boot核心区别是什么”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!什么是Spring作为 Ja...
    99+
    2023-06-16
  • Spring框架核心概念是什么
    这篇文章主要为大家展示了“Spring框架核心概念是什么”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“Spring框架核心概念是什么”这篇文章吧。1、Spring是什么简而言之,Spring是企...
    99+
    2023-06-29
  • Spring Boot教程之必须了解的核心概念
    目录一、Spring Boot 、 Spring MVC 、Spring对比二、Spring Boot 自动配置三、什么是Spring Boot Starter?四、什么是Sprin...
    99+
    2022-11-13
  • spring boot的核心组件是什么
    本篇内容主要讲解“spring boot的核心组件是什么”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“spring boot的核心组件是什么”吧!Spring Boot是由Pivotal团队提供...
    99+
    2023-07-04
  • Spring Data JPA框架的核心概念与Repository接口详解
    目录1 核心概念CrudRepository接口PagingAndSortingRepository接口2 查询方法3 后续内容介绍1 核心概念 Spring Data存储库抽象的中...
    99+
    2022-11-13
  • Spring中AOP的概念是什么
    这篇文章主要介绍“Spring中AOP的概念是什么”,在日常操作中,相信很多人在Spring中AOP的概念是什么问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”Spring中AOP的概念是什么”的疑惑有所帮助!...
    99+
    2023-07-02
  • Spring中的bean概念是什么
    这篇文章将为大家详细讲解有关Spring中的bean概念是什么,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。Bean是Spring框架中最核心的两个概念之一(另一个是面向切面编程AOP)。1 定义Spri...
    99+
    2023-06-29
  • Spring AOP的概念与实现过程是什么
    今天小编给大家分享一下Spring AOP的概念与实现过程是什么的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。Ao...
    99+
    2023-07-05
  • Spring AOP的基本概念是什么
    这篇文章主要介绍“Spring AOP的基本概念是什么”,在日常操作中,相信很多人在Spring AOP的基本概念是什么问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”Spring AOP的基本概念是什么”的疑...
    99+
    2023-06-20
  • Spring中的底层架构核心概念类型转换器详解
    目录1.类型转换器作用2.自定义类型转换器2.1.在spring中怎么用呢?2.1.1 用法2.1.2 解析3.ConditionalGenericConverter4.总结1.类型...
    99+
    2022-12-27
    Spring类型转换器 Spring底层架构
  • spring的核心配置文件是什么
    在Spring框架中,核心的配置文件通常是一个XML文件,命名为applicationContext.xml。该文件包含了Sprin...
    99+
    2023-10-08
    spring
  • Activiti7与Spring及Spring Boot整合开发的方法是什么
    这篇文章主要介绍“Activiti7与Spring及Spring Boot整合开发的方法是什么”,在日常操作中,相信很多人在Activiti7与Spring及Spring Boot整合开发的方法是什么问题上存在疑惑,小编...
    99+
    2023-07-05
  • java中的四个核心概念是什么
    本篇内容主要讲解“java中的四个核心概念是什么”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“java中的四个核心概念是什么”吧!1.Java虚拟机Java虚拟机的主要任务是装在class文件并...
    99+
    2023-06-17
  • Spring和SpringBoot最核心的3大区别是什么
    这篇文章给大家介绍Spring和SpringBoot最核心的3大区别是什么,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。概述对于 Spring和 SpringBoot到底有什么区别,我听到了很多答案,刚开始迈入学习 S...
    99+
    2023-06-16
  • Spring Bean的定义概念和使用方法是什么
    本篇内容介绍了“Spring Bean的定义概念和使用方法是什么”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!定义Spring b...
    99+
    2023-07-06
  • spring mvc中url-pattern的写法是什么
    在Spring MVC中,URL Pattern的写法与Servlet的URL Pattern的写法相同。可以使用通配符来定义URL...
    99+
    2023-08-11
    spring mvc
  • Spring Boot配置文件bootstrap与application的区别是什么
    这篇文章主要介绍“Spring Boot配置文件bootstrap与application的区别是什么”,在日常操作中,相信很多人在Spring Boot配置文件bootstrap与application的区别是什么问题上存在疑惑,小编查阅...
    99+
    2023-06-19
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作