前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >想学会 Spring Boot 你必须深刻了解这些概念

想学会 Spring Boot 你必须深刻了解这些概念

作者头像
码农小胖哥
发布2019-12-10 16:20:40
5180
发布2019-12-10 16:20:40
举报
文章被收录于专栏:码农小胖哥的码农生涯
1.0

前言

Spring Boot是一个难以理解的框架。在本文中,我们将了解Spring Boot的基础知识,并帮助您了解重要的概念-starter,自动配置和Parents。希望多多关注微信公众号:Felordcn

2.0

理解Spring Boot的架构

Spring Boot的构建基块是:

  • Spring Boot Starter
  • Spring Boot Starter Parent
  • Auto Configuration

我们将通过与Spring和Spring MVC进行比较来了解Spring Boot想要实现的目标。想了解了这一点,就应该从Spring Boot的构建基块入手。

3.0

Spring Boot并不与其他竞争

你必须要理解的是:Spring Boot并不与Spring、Spring MVC竞争。Spring Boot使得使用它们变得容易。

3.1

Spring Framework

它最重要的功能是依赖注入。所有Spring模块的核心是依赖注入或IOC(控制反转)。如果正确使用DI或IOC,我们可以开发松耦合的应用程序。松耦合的应用程序可以轻松地进行单元测试。

3.2

Spring MVC

Spring MVC提供了一种分离的方式来开发Web应用程序。通过使用Dispatcher Servlet,ModelAndView和View Resolver的特有简单概念,可以轻松开发Web应用程序。它是Spring框架在servlet web规范中的提现。

3.3

Spring Boot

Spring和Spring MVC的问题在于随着项目不断发展你需要维护大量各种各样诸如properties和xml类型的配置文件,bean描述文件。Spring Boot通过“约定大于配置”同时结合自动配置和入门项目解决了这个问题。Spring Boot还提供了一些功能,可以更快地构建可用于生产环境的应用程序。

4.0

Spring Boot自动配置

Spring和Spring MVC应用程序具有很多XML或Java Bean配置。每当开辟一些新的业务时你不得不增加你的配置。Spring Boot围绕这个痛点引入了新的思维过程:是否能让应用更加智能?当一个jar引入时能自动发现一些Spring Bean。

  • 如果Hibernate JAR位于类路径中,如何自动配置数据源呢?
  • 如果Spring MVC JAR位于类路径中,如何自动配置Dispatcher Servlet呢?

Spring Boot 针对一些常用的框架进行了一些可自动发现的默认配置,也是使用这些框架必须的基本配置。这就是自动配置(Auto Configuration)。

5.0

Spring Boot Starter

什么是Spring Boot Starter?starter就是是一组便捷的依赖项描述符,您可以在应用程序中引入它们,获得一站式使用其所需的所有Spring和其他相关技术, 而不必去手动引入各种相关的依赖项。同时也不必担心依赖冲突和不兼容的问题。就像你需要一台V12发动机,不是店家直接给予你所有必须的一堆零件,而是一整台发动机。你不必关心它依赖了什么,原理是什么,只关心它有什么用。

以下屏幕快照显示了将Spring Boot Start Web添加到项目的依赖项时添加到我们的应用程序中的不同依赖项。![8a3776a072265c67990d9b51cc4e7f83.png](en-resource://database/3343:1)

这是通常用于开发Web应用程序的各种组件。如果让你手动引入想想都头皮发麻。Spring Boot Starter Web将它们组合在一起以便于让你以非常简单的开启Spring MVC Web开发并使用以下特性:

  • Spring Bean、context\IOC、AOP
  • Web MVC — (Spring MVC)
  • Jackson — for JSON Binding
  • Validation — Hibernate Validator, Validation API
  • Embedded Servlet Container — Tomcat
  • Logging — logback, slf4j

Spring Boot 提供了很多有用的Starter,你可以在Spring Boot官网找到它们。当然你也可以自己写一个Starter,具体的教程可以通过我的公众号:Felordcn 获取。

6.0

Spring Boot Starter

所有Spring Boot项目通常在pom.xml中将spring-boot-starter-parent用作父项。

代码语言:javascript
复制
<parent>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-parent</artifactId>
    <version>2.1.8.RELEASE</version>
</parent>

Parent POM 提供了以下能力让你管理的应用:

  • 配置 ——诸如 java版本和其他一些组件的默认配置
  • 依赖管理 ——统一的依赖版本管理
  • 默认的插件配置。

7.0

Spring Initializr

[Spring Initializr](http://start.spring.io/) 是Spring官方提供的极速构建Spring Boot项目的可视化引导工具。

它使您可以通过非常简单的UI创建各种基于Spring Boot的应用程序。您可以按需选择构建编程语言、工具、版本,功能、Starter组件,甚至可以通过web来预览你构建的项目。你也可以通过Intellij IDEA 、eclipse等IDE提供的Spring Initializr集成工具来快速方便地构建Spring Boot 项目。

8.0

嵌入式WEB服务器

Spring Boot 集成了嵌入式服务器,使得我们的应用可部署单元包含了服务器二进制文件。目前提供了以下嵌入式服务器:

  • Jetty
  • Tomcat
  • Undertow

个人推荐性能更加强大的Undertow。

9.0

Spring Data数据访问

Spring 还提供了数据访问一致的基于Spring编程模型,同时保留了基础数据存储的抽象类库集合,常用的模块有:

  • Spring Date JDBC
  • Spring Data JPA
  • Spring Data Redis
  • Spring Data MongoDB
  • Spring Data Elasticsearch

这些类库都提供相应的Starter组件,还有其他一些类库,可以去官方网站查询。

总结

通过以上的详细引导介绍,相信会让你对Spring Boot 有一个全面的认识。让你学习起来更加轻松。

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2019-09-21,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 码农小胖哥 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
云服务器
云服务器(Cloud Virtual Machine,CVM)提供安全可靠的弹性计算服务。 您可以实时扩展或缩减计算资源,适应变化的业务需求,并只需按实际使用的资源计费。使用 CVM 可以极大降低您的软硬件采购成本,简化 IT 运维工作。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档