欢迎来到从零开始学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. [转帖]PostgreSQL配置文件--WAL

    2022-12-23 3.1 Settings 3.1.1 fsync 字符串 默认: fsync = on 开启后强制把数据同步更新到磁盘,可以保证数据库将在OS或者硬件崩溃的后恢复到一个一致的状态 ...

  2. WorkStation的网络损耗

    WorkStation的网络损耗 背景 对周六遇到的问题进行了一下深入思考. 发现虽然可以通过WorkStation的方式来进行Clients以及新命令的扩容. 但是Workstation的桥接网络模 ...

  3. sshpass 免密码进行文件复制的方法

    1. 部分centos8 没有安装 sshpass 需要先安装 sshpass yum install sshpass 2. 需要增加一个配置文件, 避免因为 stickhost 检查 造成命令失效 ...

  4. 简述if if和if else的关系与区别

    简述if if和if else的关系与区别 当满足条件1,条件2都会执行的哈. 双if是每一个if都会进行判断,依次对if进行判断,互相之间不会影响; if(条件1){ 要执行的语句; } if(条件 ...

  5. 事务提交之后再执行某些操作 → 引发对 TransactionSynchronizationManager 的探究

    开心一刻 昨晚,小妹跟我妈聊天 小妹:妈,跟你商量个事,我想换车,资助我点呀 妈:哎呀,你那分扣的攒一堆都够考清华的,还换车资助点,有车开就不错了 小妹:你要是这么逼我,别说哪天我去学人家傍大款啊 妈 ...

  6. @RequestBody中使用@DateTimeFormat报错:JSON parse error: Expected array or string.; nested exception is com.fasterxml.jackson.databind.exc.MismatchedInputException

    原因分析 根据异常提示:不匹配输入异常,指输入的参数错误,说是只支持String类型和Array数组类型的. @PostMapping("/test") public Dto ge ...

  7. 【一】MADDPG-单智能体|多智能体总结(理论、算法)

    相关文章: [一]MADDPG-单智能体|多智能体总结(理论.算法) [二]MADDPG--单智能体|多智能体总结算法实现--[追逐游戏] [一]-环境配置+python入门教学 [二]-Parl基础 ...

  8. LeetCode刷题日记2020/8/24

    题目描述 给定一个非空的字符串,判断它是否可以由它的一个子串重复多次构成.给定的字符串只含有小写英文字母,并且长度不超过10000. 示例 1: 输入: "abab" 输出: Tr ...

  9. Linux系统NTP配置同步修改硬件时钟

    前言: 硬件时钟:即BIOS时间,就是CMOS设置时看到的时间,存储在主板BIOS里,关机及断电后由主板电池供电维持时间的守时.    系统时钟:linux系统Kernel时间,由CPU守时,关机及断 ...

  10. 【链表】链表的合并【经典面试OJ详解】【力扣21,力扣23】超详细的算法教程

    链表的合并 导航小助手 说在前面 题目链接 链表结构 OJ21.合并两个有序链表 题目描述和算法分析 接口的完整实现代码 OJ23.合并K个升序链表 题目描述和算法分析 接口的完整实现代码 尾声 说在 ...