Spring Boot 入门教程

目录

一、Spring Boot 是什么

二、为什么要使用 Spring Boot

三、快速入门

  • 3.1 创建 Spring Boot 项目
  • 3.2 项目结构
  • 3.3 引入 Web 依赖
  • 3.4 编写第一个接口
  • 3.5 启动程序,验证效果

四、总结

五、GitHub 示例代码

一、Spring Boot 是什么

以下截图自 Spring Boot 官方文档:

什么是Spring Boot

翻译整理一下,内容如下:

Spring Boot 是基于 Spring 框架基础上推出的一个全新的框架, 旨在让开发者可以轻松地创建一个可独立运行的,生产级别的应用程序。

基于 Spring Boot 内部的自动化配置功能,开发者可以在"零"配置, 或者只需要添加很少的配置,就可以进行日常的功能开发。

二、为什么要使用 Spring Boot

用权威说话,下图同样截图自 Spring Boot 官方文档:

为什么要使用Spring Boot

我们再来翻译整理一下,内容如下:


  • 1、能够轻松、方便地创建一个 Spring 应用;
  • 2、直接使用内嵌的 Tomcat, Jetty, Undertow 容器(无需再手动安装容器,通过部署 WAR 包的方式);
  • 3、内部自动管理各种 Jar 包的版本依赖关系,再也不用为版本冲突而烦恼啦;
  • 4、自动化配置 Spring 相关功能,以及第三方库;
  • 5、提供诸如指标,健康检查, 外部化配置等功能;
  • 6、“零配置”,再也不需要手写地狱般的 XML 配置了;

怎么样,看了 Spring Boot 这些强大的特性以后,是不是开始跃跃欲试了,接下来,让我们快速入门 Spring Boot 吧 !

PS: 正由于 Spring Boot 以上特性,才得以使它成为构建微服务架构的基础组件。

三、快速入门

3.1 创建 Spring Boot 项目

3.1.1 通过 Spring Initializr 来创建

  • 1、访问 Spring Initializr 地址:https://start.spring.io:

Spring Initializr

默认情况下,Spring Initializr 生成的项目是通过 Maven 来构建的,开发语言为 Java, 版本用的最新的发行版,打包方式为 Jar, 使用的 Java 版本为 1.8,小伙伴们这里要注意一下!

  • 2、生成项目, 导入到开发工具中

点击 Generate Project 按钮,下载的 Demo.zip, 解压后,导入到开发工具中,这里笔者使用的是 IntelliJ IDEA。

  • 3、File -> New -> Model from Existing Source, 可参考下图:

导入Spring Boot项目

  • 4、弹出框中,选中您的解压后的文件夹 -> OK -> 选择通过 Maven 的方式来导入项目:

通过Maven的方式来导入Spring Boot项目

  • 5、一路点击 Next -> Finished;

至此,通过 Spring Initializr 网站来创建应用,并导入到了我们的开发工具 IntelliJ IDEA 中就成功了。

PS: 如果您使用的是 Eclipse, 方式是 Import -> Existing Maven Projects -> Next -> 选择解压后的文件夹 -> Finsh

3.1.2 通过 IntelliJ IDEA 来创建应用

其实,我们还可以直接通过 IntelliJ IDEA 来创建一个 Spring Boot 项目,因为 IntelliJ IDEA 内置了 Spring Initializr,接下来,通过图文,让我们来看下要如何一步一步操作:

  • 1、File -> New -> Project, 跳出新建项目弹出框:

新建Spring Boot弹出框

  • 2、点击 Next,弹出填写 maven 项目的需要的相关信息,这里我们用默认的就好了,继续点击 Next;
  • 3、再次弹出框,这里可以勾选开发中需要的 Starter 的组件, 如 Web, Redis 等,我们这里暂时不勾,后面通过手动添加的方式, 继续点击 Next -> Finish;

3.2 项目结构

项目创建成功后,可以看到结构如下:

Spring Boot项目结构

共分为三个主要的文件夹:

  • src/mail/java: 存放 Java 源码,包括启动程序的入口;
  • src/mail/resources: 资源目录,用于放置相关配置文件,静态文件 html, css 等;
  • src/test/java: 存放单元测试类

3.3 引入 Web 依赖

pom.xml 文件中添加 web 依赖:

<dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-web</artifactId>
</dependency>

PS: 不用手动去指定版本号,因为 Spring Boot 内部已经维护相关 Jar 包的依赖关系。

3.4 编写第一个接口

com.example.demo 包下添加 controller 包,用来存放所有对外部开发的接口, 完成后,创建 HelloController.java 类, 添加一个 /hello 接口:

@RestController
public class HelloController {@GetMapping("/hello")public String hello() {return "Hello, Spring Boot !";}
}

添加 @RestController 注解,表示此类中所有定义的接口均为 RESTFul 风格,也就是说返参均为 JSON 格式的。

@GetMapping("/hello") 表示定义一个 GET 请求的接口,路径为 /hello

3.5 启动程序,验证效果

启动Spring Boot

根据图示,点击按钮,来启动 Spring Boot Web 程序, 查看控制台输出:

  .   ____          _            __ _ _/\\ / ___'_ __ _ _(_)_ __  __ _ \ \ \ \
( ( )\___ | '_ | '_| | '_ \/ _` | \ \ \ \\\/  ___)| |_)| | | | | || (_| |  ) ) ) )'  |____| .__|_| |_|_| |_\__, | / / / /=========|_|==============|___/=/_/_/_/:: Spring Boot ::        (v2.1.4.RELEASE)2019-04-14 19:57:59.795  INFO 3680 --- [           main] com.example.demo.DemoApplication         : Starting DemoApplication on 192.168.0.100 with PID 3680 (/Users/a123123/Work/IdeaProjects/demo/target/classes started by allen-jiang in /Users/a123123/Work/IdeaProjects/demo)
2019-04-14 19:57:59.798  INFO 3680 --- [           main] com.example.demo.DemoApplication         : No active profile set, falling back to default profiles: default
2019-04-14 19:58:00.666  INFO 3680 --- [           main] o.s.b.w.embedded.tomcat.TomcatWebServer  : Tomcat initialized with port(s): 8080 (http)
2019-04-14 19:58:00.689  INFO 3680 --- [           main] o.apache.catalina.core.StandardService   : Starting service [Tomcat]
2019-04-14 19:58:00.689  INFO 3680 --- [           main] org.apache.catalina.core.StandardEngine  : Starting Servlet engine: [Apache Tomcat/9.0.17]
2019-04-14 19:58:00.756  INFO 3680 --- [           main] o.a.c.c.C.[Tomcat].[localhost].[/]       : Initializing Spring embedded WebApplicationContext
2019-04-14 19:58:00.757  INFO 3680 --- [           main] o.s.web.context.ContextLoader            : Root WebApplicationContext: initialization completed in 920 ms
2019-04-14 19:58:00.978  INFO 3680 --- [           main] o.s.s.concurrent.ThreadPoolTaskExecutor  : Initializing ExecutorService 'applicationTaskExecutor'
2019-04-14 19:58:01.183  INFO 3680 --- [           main] o.s.b.w.embedded.tomcat.TomcatWebServer  : Tomcat started on port(s): 8080 (http) with context path ''
2019-04-14 19:58:01.186  INFO 3680 --- [           main] com.example.demo.DemoApplication         : Started DemoApplication in 1.678 seconds (JVM running for 2.176)

当控制台日志中输出了 Tomcat started on port(s): 8080 (http) with context path ''时,表示内嵌的 Tomcat 容器已经启动成功了,端口为 8080 !

接下来,我们在浏览器上访问 http://localhost:8080/hello 接口,验证一下,接口是否能够正常访问:

请求 /hello 接口

返回了我们想要的 Hello, Spring Boot ! 字符串,接口访问正常,大工告成!

四、总结

本文中,我们首先了解了什么是 Spring Boot, 以及Spring Boot 的相关特性,最后我们手把手学习了如何搭建一个 Spring Boot 项目,并编写了第一个接口且访问成功。

通过实际操作,真切地感受到了 Spring Boot 的魅力所在!老铁,双击 666!

五、GitHub 示例代码

https://github.com/weiwosuoai/spring-boot-tutorial/tree/master/demo

六、Reference

  • https://start.spring.io

赠送 | 面试&学习福利资源

最近在网上发现一个不错的 PDF 资源《Java 核心面试知识.pdf》分享给大家,不光是面试,学习,你都值得拥有!!!

获取方式: 关注公众号: 小哈学Java, 后台回复 资源,既可获取资源链接,下面是目录以及部分截图:

福利资源截图

福利资源截图

福利资源截图

福利资源截图

福利资源截图

福利资源截图

福利资源截图

重要的事情说两遍,获取方式: 关注公众号: 小哈学Java, 后台回复 资源,既可获取资源链接 !!!

欢迎关注微信公众号: 小哈学Java

小哈学Java

Spring Boot 入门教程 | 图文讲解相关推荐

  1. springboot输出hello world_Spring Boot 入门教程 | 图文讲解

    目录 一.Spring Boot 是什么 二.为什么要使用 Spring Boot 三.快速入门 3.1 创建 Spring Boot 项目 3.2 项目结构 3.3 引入 Web 依赖 3.4 编写 ...

  2. 手写springboot_Spring Boot 入门教程 | 图文讲解

    目录 一.Spring Boot 是什么 二.为什么要使用 Spring Boot 三.快速入门 3.1 创建 Spring Boot 项目 3.2 项目结构 3.3 引入 Web 依赖 3.4 编写 ...

  3. Spring Boot入门教程(四十):微信支付集成-刷卡支付

    分享一个朋友的人工智能教程.比较通俗易懂,风趣幽默,感兴趣的朋友可以去看看. 一:准备工作 使用微信支付需要先开通服务号,然后还要开通微信支付,最后还要配置一些开发参数,过程比较多. 申请服务号(企业 ...

  4. Spring Boot入门教程(四十一):微信支付集成-扫码支付

    分享一个朋友的人工智能教程.比较通俗易懂,风趣幽默,感兴趣的朋友可以去看看. 一:准备工作 使用微信支付需要先开通服务号,然后还要开通微信支付,最后还要配置一些开发参数,过程比较多. 申请服务号(企业 ...

  5. springboot 创建地址_这可能是史上最易懂的 Spring Boot 入门教程

    目录 一.Spring Boot 是什么 二.为什么要使用 Spring Boot 三.快速入门 3.1 创建 Spring Boot 项目 3.2 项目结构 3.3 引入 Web 依赖 3.4 编写 ...

  6. Spring Boot入门教程(二十八): 校验(validation)

    validation主要是校验用户提交的数据的合法性,比如是否为空,密码是否符合规则,邮箱格式是否正确等等,校验框架比较多,用的比较多的是hibernate-validator, 也支持国际化,也可以 ...

  7. Spring Boot入门教程(二十五): Apache Shiro

    1. pom.xml shiro并没有提供对应的Starter,而是使用的shiro-spring,其它的依赖都是辅助 <dependency><groupId>org.spr ...

  8. Spring Boot入门教程(四十二):微信支付集成-H5支付

    分享一个朋友的人工智能教程.比较通俗易懂,风趣幽默,感兴趣的朋友可以去看看. 一:开发文档 场景介绍 H5支付是指商户在微信客户端外的移动端网页展示商品或服务,用户在前述页面确认使用微信支付时,商户发 ...

  9. Spring Boot入门教程(三十五):支付宝集成-准备工作

    分享一个朋友的人工智能教程.比较通俗易懂,风趣幽默,感兴趣的朋友可以去看看. 一:注册账号&创建应用 集成第三方的功能(无论是集成支付宝还是微信或者其他的都是一样)的第一步一般都是要跑到其类似 ...

最新文章

  1. C++ 先序遍历还原二叉树
  2. Silverlight中服务通信方式的选择(WCF、Data Service、Ria Service)
  3. QT的QBluetoothTransferManager类的使用
  4. Angular之filter学习
  5. java修改异常状态码_RxJava2 + Retrofit2 完全指南 之 统一状态码/Exception处理
  6. 关于premake4
  7. mesh threejs 属性_ThreeJS拖动案例解析
  8. 如何开发神经网络来预测电离层中的干扰
  9. 环保数采仪 环保行业的绿色卫士
  10. png图像保存为yuv格式以及yuv格式转为png
  11. 【毕业设计】基于大数据的抖音短视频数据分析与可视化 - python 大数据 可视化
  12. 被「羊了个羊」逼疯后,鹅厂程序员怒而自制「必通关版」
  13. Pandas query 的用法, df.query
  14. 百度有啊前端框架分析(自定义事件)
  15. 新手建网站的步骤及注意事项
  16. android 视频预览,预览视频  |  Android 开发者  |  Android Developers
  17. 超好玩的硬币游戏,你会玩吗?
  18. 文案怎么写,才会更有画面感,告诉你2个方法(三)
  19. 好看的照片要怎么拍?
  20. 论文阅读:CNN+GCN

热门文章

  1. javaScript将网页放到桌面,发送快捷方式到桌面
  2. 软件加密系统Themida应用程序保护指南(十):高级选项
  3. 只有我一个人对ChatGPT感到蕉绿吗?
  4. nginx 入门简介
  5. 我是怎么解决微信封了我们域名的
  6. 海康萤石摄像头本地局域网拉流保存
  7. 双网卡实现同时连通两个网络
  8. 前端开发常用案例(一)
  9. java计算机毕业设计计算机类专业考研交流学习平台MyBatis+系统+LW文档+源码+调试部署
  10. 论WEB2.0网站建设与核心价值解析