欢迎来到从零开始学Spring Boot的旅程!在这个系列的第二篇文章中,我们将从一个非常基础但重要的示例开始:创建一个简单的Spring Boot应用程序,并输出“Hello World”。

1. 环境准备

首先,确保你的开发环境已经安装了以下工具:

  • Java Development Kit (JDK) :Spring Boot需要Java来运行,所以你需要安装JDK。可以从Oracle官网下载最新版本的JDK。本文使用的是jdk-17.0.9
  • IDE(集成开发环境) :虽然Spring Boot可以在任何文本编辑器中编写和运行,但使用IDE可以大大提高开发效率。推荐的IDE包括IntelliJ IDEA、Eclipse和Spring Tool Suite等,本文使用的是 IntelliJ IDEA 2023.3.3。
  • Maven或Gradle :Spring Boot使用Maven或Gradle作为构建工具。这两个工具都能帮助你管理项目依赖,构建和打包应用程序。本文使用的是Gradle 8.3

2. 创建Spring Boot项目

本文为大家提供两种创建Spring Boot项目的方式。

使用官方Spring Initializr创建

  • 你可以使用Spring Initializr(https://start.spring.io/)来快速生成一个Spring Boot项目的骨架。在这个网站上,你可以选择项目类型(Maven或Gradle)、项目元数据(Group、Artifact、Name、Description等)、包结构(Java包名)、依赖项(例如Spring Web、Lombok等)等。为了这个“Hello World”示例,我们只需要最基本的Spring Boot项目。选择Gradle作为构建工具,然后添加必要的依赖。点击“Generate”按钮下载ZIP文件,解压后导入到你的IDE中



  • 使用IntelliJ IDEA创建 Spring Boot项目的骨架,在菜单栏File选项,选择New Project。在页面选择Spring Initializr,选择项目类型(Maven或Gradle)、项目元数据(Group、Artifact、Name、Description等)、包结构(Java包名),选择Next。



    选择Spring Boot版本,依赖项(例如Spring Web、Lombok等)。点击Create。

3. 编写 HelloWorldController

在IntelliJ IDEA 中打开项目后,你会看到一个默认生成的SpringbootLearningApplication类。这个类包含一个main方法,它是程序的入口点。

我们创建一个HelloWorldController,在这个类中,我们将添加一个简单的控制器来输出“Hello World”。

在HelloWorldController使用@RestController注解标记它。这个类包含一个名为helloWorld的方法,该方法使用@GetMapping注解标记,表示当访问应用的根URL(/)时,将调用这个方法。该方法返回一个字符串"Hello World"。

现在,你可以运行SpringbootLearningApplication类中的main方法来启动Spring Boot应用程序。如果你的idea配置正确,你可以直接点击运行按钮来启动应用程序。

当应用程序启动后,你应该能在控制台看到类似于以下的输出:

这表明Spring Boot应用程序已成功启动。现在,你可以打开浏览器并访问http://localhost:8080(默认端口是8080,但可能会因你的配置而异)。你应该能在浏览器中看到“Hello World”这几个字。

4. 总结

在这个“Hello World”示例中,我们创建了一个简单的Spring Boot应用程序,并输出了“Hello World”。虽然这个示例很简单,但它展示了Spring Boot的基本结构和如何使用控制器来处理HTTP请求。在后续的文章中,我们将深入探讨Spring Boot的更多特性和功能,包括数据访问、安全性、RESTful API等。敬请期待!

从零开始学Spring Boot系列-Hello World的更多相关文章

  1. 53. spring boot系列合集【从零开始学Spring Boot】

    前40章节的spring boot系列已经打包成PDF在csdn进行发布了,如果有需要的可以进行下载. 下载地址:http://download.csdn.net/detail/linxinglian ...

  2. 57. Spring 自定义properties升级篇【从零开始学Spring Boot】

    之前在两篇文章中都有简单介绍或者提到过 自定义属性的用法: 25.Spring Boot使用自定义的properties[从零开始学Spring Boot] 51. spring boot属性文件之多 ...

  3. 21. Spring Boot过滤器、监听器【从零开始学Spring Boot】

    转载:http://blog.csdn.net/linxingliang/article/details/52069490 上一篇文章已经对定义Servlet 的方法进行了说明,过滤器(Filter) ...

  4. 81. Spring Boot集成JSP疑问【从零开始学Spring Boot】

    [原创文章,转载请注明出处] 针对文章: ()Spring Boot 添加JSP支持[从零开始学Spring Boot] 有网友提了这么一些疑问: 1.Spring Boot使用jsp时,仍旧可以打成 ...

  5. 78. Spring Boot完美使用FastJson解析JSON数据【从零开始学Spring Boot】

    [原创文章,转载请注明出处] 个人使用比较习惯的json框架是fastjson,所以spring boot默认的json使用起来就很陌生了,所以很自然我就想我能不能使用fastjson进行json解析 ...

  6. 77. Spring Boot Use Thymeleaf 3【从零开始学Spring Boot】

    [原创文章,转载请注明出处] Spring Boot默认选择的Thymeleaf是2.0版本的,那么如果我们就想要使用3.0版本或者说指定版本呢,那么怎么操作呢?在这里要说明下 3.0的配置在spri ...

  7. 75. Spring Boot 定制URL匹配规则【从零开始学Spring Boot】

    在之前有一篇文章说了,博客名称从原来的<从零开始学Spring Boot>更改为<Spring Boot常见异常汇总>,后来写了几篇文章之后发展,有些文章还是一些知识点,所以后 ...

  8. 74. Spring Data JPA方法定义规范【从零开始学Spring Boot】

    [从零开始学习Spirng Boot-常见异常汇总] 事情的起因:有人问过我们这个这个问题:为什么我利用Spring data jpa写的方法没有按照我想要的情况进行执行呢?我记得当时只是告诉他你你先 ...

  9. 72.spring boot讨论群【从零开始学Spring Boot】

    [从零开始学习Spirng Boot-常见异常汇总] 如果您碰到什么问题,您可以加群进行探讨,在群里有加入的都是Spring Boot志同道合的朋友: Spring Boot QQ交流群:193341 ...

  10. 71.mybatis 如何获取插入的id【从零开始学Spring Boot】

    [从零开始学习Spirng Boot-常见异常汇总] 在之前的文章已经讲过spring boot集成mybatis了,但是忘记说一个很重要的知识点了,那就是获取获取主键id,这篇文章补充下,sprin ...

随机推荐

  1. [转帖]《Linux性能优化实战》笔记(21)—— 网络性能优化思路

    一. 确定优化目标 优化前,我会先问问自己,网络性能优化的目标是什么?实际上,虽然网络性能优化的整体目标,是降低网络延迟(如 RTT)和提高吞吐量(如BPS 和 PPS),但具体到不同应用中,每个指标 ...

  2. [转帖]Elasticsearch部署配置建议

    1: 选择合理的硬件配置:尽可能使用 SSD Elasticsearch 最大的瓶颈往往是磁盘读写性能,尤其是随机读取性能.使用SSD(PCI-E接口SSD卡/SATA接口SSD盘)通常比机械硬盘(S ...

  3. SpringBoot 连接Oracle 12c 以上版本PDB的解决思路

    1. 最近公司产品改用springboot开发, 要支持企业级大型数据库Oracle ,并且版本要求比较高,需要使用Oracle12c以上. 又因为Oracle 12c 以上有了一个PDB的可插拔数据 ...

  4. nginx 反向代理 负载均衡的做法

    项目上使用负载均衡的方法, 感觉最简单的办法其实是 http的 upstream  注意需要保留端口号信息. worker_processes 4; events { worker_connectio ...

  5. 计划任务方式定期获取jvm dump的方法

    说明 产品最近有一些问题,想着能够每隔一段时间抓取一下dump文件. 需求 可以定期抓取, 需要注意磁盘空间的使用. 实现方法 定时任务使用 crontab 计划任务来做 预定义获取jvm dump的 ...

  6. K8S的pod展示镜像信息

    https://kubernetes.io/zh/docs/tasks/access-application-cluster/list-all-running-container-images/ ku ...

  7. echarts的初始化和销毁dispose

    容器节点被销毁以及被重建时 假设页面中存在多个标签页, 每个标签页都包含一些图表. 当选中一个标签页的时候,其他标签页的内容在 DOM 中被移除了. 这样,当用户再选中这些标签页的时候,就会发现图表& ...

  8. 【发现一个问题】extjs-gpl-7.0: 当修改 store 对象的字段后,再次 loadPage() 后字段映射错误。

    作者:张富春(ahfuzhang),转载时请注明作者和引用链接,谢谢! cnblogs博客 zhihu Github 公众号:一本正经的瞎扯 因为查询中需要每次返回数目不确定的 fields ,这就需 ...

  9. HTML直接插入js、css

    简单的小页面可以使用 代码量大的话还是建议引用代码 直接包裹起来 <style>这里添加css代码</style> 加入css标识 <style type="t ...

  10. 飞桨paddlespeech语音唤醒推理C INT8 定点实现

    前面的文章(飞桨paddlespeech语音唤醒推理C定点实现)讲了INT16的定点实现.因为目前商用的语音唤醒方案推理几乎都是INT8的定点实现,于是我又做了INT8的定点实现. 实现前做了一番调研 ...