文章目录

  • 简介
  • Spring Boot的基本操作
  • Spring Boot的构建和部署
  • Spring Boot工具
  • Spring Boot的测试
  • Spring Boot中使用JPA
  • Spring Boot和第三方系统的集成
  • 总结

简介

自从Spring横空出世之后,Spring就成了事实上的J2EE标准。Spring作为一个轻量级的J2EE应用框架,就是针对EJB的复杂特性而设计的,最后毫无疑问,Spring凭借它的简洁,可理解性和可用性赢得了最后的胜利。

Spring从最初的xml配置到后面的注解配置,一直都在不断的进步,但是可不可以,能不能够有一种方法可以不要配置就能运行Spring应用程序?于是Spring Boot应运而生。

更多内容请访问www.flydean.com

SpringBoot是由Pivotal团队在2013年开始研发、2014年4月发布第一个版本的全新开源的轻量级框架。

Spring Boot让你的企业级应用更加容易编写,更加容易运行。并且集成了很多常用的第三方lib库,免去了大家手动引用配置的麻烦。

使用最简单的配置运行最复杂的Spring应用程序,应该就是Spring Boot的终极目标。

同时Spring Boot尽可能的摆脱xml配置,能够提供包括独立运行,服务器内部运行等各种运行方式,方便我们的使用。

Spring Boot的基本操作

最新的Spring Boot版本是2.3.0.RELEASE,它需要至少JDK8的支持和Spring Framework 5.2.6.RELEASE。

在构建工具方面,需要Maven 3.3+ 和 Gradle 6.3+。

服务器方面,Spring Boot内置三个服务器:Tomcat 9.0,Jetty 9.4和Undertow 2.0。Spring Boot需要部署在Servlet 3.1+的环境中才能正常运行。

在安装方面,Spring Boot有两种安装方式,第一种就是在Maven或者Gradle中以jar包的形式引入,这种方式的好处就是直观,并且Spring Boot的配置都是在项目中可以看到的。

第二种方式就是使用Spring Boot CLI,通过cli还可以运行groovy脚本。

下面列出了Spring Boot中的几个基本模块:

下面列出的教程文件,大家可以一步一步的去参考运行,运行完毕相信大家对Spring Boot会有一个深刻的理解。

  • 使用Spring Boot搭建你的第一个应用程序
  • 如何在Spring boot中修改默认端口
  • Spring Boot Starters介绍
  • Spring boot自定义parent POM
  • 使用spring boot创建fat jar APP
  • spring boot 使用maven和fat jar/war运行应用程序的对比
  • Spring Boot注解
  • Spring Boot @EnableAutoConfiguration和 @Configuration的区别
  • 自定义spring boot的自动配置
  • 在Spring Boot中配置web app
  • 从Spring迁移到Spring Boot
  • Spring Boot中的Properties
  • SpringBoot @ConfigurationProperties详解
  • 在Spring Boot中加载初始化数据
  • Spring Boot的exit code
  • Shutdown SpringBoot App
  • Spring boot 自定义banner
  • Spring Boot filter
  • Spring Boot中使用@JsonComponent
  • Spring Boot国际化支持

Spring Boot的构建和部署

开发java项目少不了要用到maven或者gradle,对比gradle而言,可能maven要更加常用一些。要使用maven那就必要要安装maven,如果有些用户不想安装maven怎么办?或者说用户不想全局安装maven,那么可以使用项目级别的Maven Wrapper来实现这个功能。

如果大家使用IntelliJ IDEA来开发Spring boot项目, 如果选择从Spring Initializr来创建项目,则会在项目中自动应用Maven Wrapper。简单点说就是在项目目录下面会多出两个文件: mvnw 和 mvnw.cmd。

  • Maven Wrapper简介

当我们创建好了Spring Boot应用程序之后,怎么在生成环境中运行呢?如果只是以原始的java -jar 的方式来运行的话,不能保证程序的健壮性和稳定性,最好的办法是将程序注册成为服务来使用。

  • 将Spring Boot应用程序注册成为系统服务

Spring Boot工具

Spring Boot Actuator 在Spring Boot第一个版本发布的时候就有了,它为Spring Boot提供了一系列产品级的特性:监控应用程序,收集元数据,运行情况或者数据库状态等。

使用Spring Boot Actuator我们可以直接使用这些特性而不需要自己去实现,它是用HTTP或者JMX来和外界交互。

  • Spring Boot Actuator

Spring Boot为我们提供了一个便捷的开发Spring Boot应用程序的环境,同时为了方便我们的开发Spring Boot应用程序,Spring Boot 推出了Spring Boot devtool的工具来方便我们更加快速的开发和测试Spring Boot应用程序。

  • Spring Boot devtool的使用

前面我们讲了Spring Boot的Actuator。但是Spring Boot Actuator只是提供了一个个的接口,需要我们自行集成到监控程序中。今天我们将会讲解一个优秀的监控工具Spring Boot Admin。 它采用图形化的界面,让我们的Spring Boot管理更加简单。

  • Spring Boot Admin的使用

Spring Boot的测试

测试是一个应用程序必须要有的功能,它可以保证程序的健壮性,和稳定性,尤其是在CI环境中更是如此。

Spring Boot有专门的spring-boot-starter-test,通过使用它可以很方便的在Spring Boot进行测试。

  • Spring Boot中的测试
  • Spring Boot的TestRestTemplate使用

Spring Boot中使用JPA

JPA的全称是Java Persistence API (JPA),他是一个存储API的标准,而Spring data JPA就是对JPA的一种实现,可以让我们方便的对数据进行存取。按照约定好的方法命名规则写dao层接口,从而在不实现接口的情况下,实现对数据库的访问和操作。同时提供了很多除了CRUD之外的功能,如分页、排序、复杂查询等等。

Spring data JPA可以看做是对Hibernate的二次封装。在Spring Boot中使用JPA是非常的方便。

  • Spring Boot 之Spring data JPA简介
  • Spring Boot JPA中java 8 的应用
  • Spring Boot中Spring data注解的使用
  • 在Spring Boot使用H2内存数据库
  • 在Spring Boot中使用内存数据库
  • Spring Boot JPA中使用@Entity和@Table
  • Spring Boot JPA的查询语句
  • Spring Boot JPA中关联表的使用
  • Spring Boot JPA 中transaction的使用

Spring Boot和第三方系统的集成

Spring Boot为了开发人员的方便,已经集成了很多第三方的服务,我们可以直接使用他们。

甚至如果Spring官方没有提供集成的话,第三方系统本身也会提供跟Spring的集成,因为Spring的使用实在是太广泛了。

  • Spring Boot中使用Swagger CodeGen生成REST client

总结

本文将会持续更新Spring Boot 2.x相关的文章,大家觉得不错可以点个关注,同时如果大家有建议的教程内容,欢迎大家留言回复,我会尽量补齐,谢谢大家的支持!

本文链接:http://www.flydean.com/learn-spring-boot/

最通俗的解读,最深刻的干货,最简洁的教程,众多你不知道的小技巧等你来发现!

欢迎关注我的公众号:「程序那些事」,懂技术,更懂你!

Spring Boot 2.X系列教程:七天从无到有掌握Spring Boot-持续更新相关推荐

  1. springboot 2.3_Spring Boot 2.X系列教程:七天从无到有掌握Spring Boot-持续更新

    简介 自从Spring横空出世之后,Spring就成了事实上的J2EE标准.Spring作为一个轻量级的J2EE应用框架,就是针对EJB的复杂特性而设计的,最后毫无疑问,Spring凭借它的简洁,可理 ...

  2. SpringBoot 系列教程(八十五):Spring Boot使用MD5加盐验签Api接口之前后端分离架构设计

    加密算法参考: 浅谈常见的七种加密算法及实现 加密算法参考: 加密算法(DES,AES,RSA,MD5,SHA1,Base64)比较和项目应用 目的: 通过对API接口请求报文签名,后端进行验签处理, ...

  3. 汇川小型PLC梯形图编程系列教程(七):数值存储与二进制数据知识详解

    原文链接:汇川小型PLC梯形图编程系列教程(七):数值存储与二进制数据知识详解 PLC数据存储原理简介 H123U小型PLC内部采用的是32位的处理器,PLC中的数据处理和电脑中的数据处理基本是一致的 ...

  4. ASP.NET 5系列教程(七)完结篇-解读代码

     在本文中,我们将一起查看TodoController 类代码. [Route] 属性定义了Controller的URL 模板: [Route("api/[controller]&quo ...

  5. 黄聪:Microsoft Enterprise Library 5.0 系列教程(七) Exception Handling Application Block

    黄聪:Microsoft Enterprise Library 5.0 系列教程(七) Exception Handling Application Block 原文:黄聪:Microsoft Ent ...

  6. 米思齐(Mixly)图形化系列教程(七)-while与do……while

    目录 while循环的执行过程 while循环流程 do--while循环流程 举例 break与continue 教程导航 联系我们 while循环只要循环条件为真就一直执行循环体 while循环的 ...

  7. Destoon教程之系统标签调用大全 【持续更新】

    Destoon教程之系统标签调用大全 [持续更新]整理前先列大纲: 一.全局通用标签调用   字段语法({$DT[字段名]}) 网站名称:{$DT[sitename]} 网站地址:{DT_PATH} ...

  8. ClickHouse系列教程七:centos下源码编译安装及报错解决

    ClickHouse系列教程: ClickHouse系列教程 参考上一篇博客: ClickHouse系列教程六:源码分析之Debug编译运行 先安装 gcc 8, g++ 8, cmake 3, ni ...

  9. ASP.NET Core Web Razor Pages系列教程七: 添加新的字段

    系列文章目录:系列教程:使用ASP.NET Core创建Razor Pages Web应用程序 - zhangpeterx的博客 系列教程代码的GitHub地址:ASP .Net Core Razor ...

最新文章

  1. create maven android project
  2. 计算机能模拟图灵机吗,关于计算机科学:图灵机与冯诺依曼机器
  3. c语言哪个编译软件能够将整个工程自动生成调用图_这10个C语言技巧让初学者少走180天弯路!...
  4. Linux中main是如何执行的
  5. python绘制蟒蛇绕圈圈_Python学习之循环--绕圈圈(蛇形盘)
  6. linux git 发邮件,gitlab发邮件基于sendmail
  7. bigdata learning unit two--Spark environment setting
  8. [递推][jzyzojP1252]:递推专练4
  9. java继承的范例_Java范例中的继承
  10. python数字类型floatcomplexint_Python 四种数值类型(int,long,float,complex)区别及转换
  11. caffe的python接口学习(2):生成solver文件
  12. Matlab中文注释乱码问题解决方案
  13. 关于无盘工作站的初步了解(RPL/PXE)
  14. npcap lookback adapter回环网卡是什么 它的作用是什么
  15. 卸载华为系统wifi服务器,如何安装随行WiFi驱动及如何卸载驱动
  16. Spring动态代理的两种区别
  17. 100个超好用的Excel快捷键
  18. 基于Java的Minecraft游戏后端自定义插件 08VexView界面绘制与按钮和扩展VexView事件使用
  19. 改cpp[1] Vscode Hex Editor,在vscode中查看内存
  20. 投资理财学习笔记二,1.4做个有钱人之富人思维

热门文章

  1. ssh、私钥、密钥理解
  2. EOJ_1102_任务调度问题
  3. 利用栈进行程序的括号匹配
  4. POJ3335(判断多边形内核是否存在)
  5. EXE和SYS通信(ReadFile WriteFile DO_DIRECT_IO) 直接方式
  6. Windbg教程-调试非托管程序的基本命令上
  7. 【Boost】boost库中timer定时器
  8. instsrv.exe——来自Windows 2000 Resource Kits的一个小工具
  9. 一个很好地List实现源码
  10. Jenkins 在 Tomcat 中的部署及代码静态检查工具集成