欢迎来到从零开始学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. [转帖]Django系列3-Django常用命令

    文章目录 一. Django常用命令概述 二. Django常用命令实例 2.1 help命令 2.2 version 2.3 check 2.4 startproject 2.5 startapp ...

  2. [转帖]创建lvm

    https://www.jianshu.com/p/bf6b92d73b9b 一.环境介绍 服务器中有sda,sdb,sdc,sdd,sde,sdf六块硬盘,其中sda作为系统盘已经安装了系统,需要将 ...

  3. [转帖]Innodb存储引擎-idb文件格式解析

    文章目录 ibd 文件格式解析 idb文件 page类型和格式(File Header & Trailer) FIL_PAGE_TYPE_FSP_HDR 格式 Extent Descripto ...

  4. Linux 通过yum 方式离线下载依赖rpm包的操作步骤

    离线下载依赖rpm包的方法 1.简单获取依赖关系 yum deplist rpm-build 注意 deplist 为依赖项目 我在arm 上面简单跑一下结果为 package: rpm-build- ...

  5. vue3.2中setup语法糖父组件如何调用子组件中的方法

    父组件如何调用子组件中的方法 父组件.vue <template> <div> <aa ref="testRef"></aa> &l ...

  6. Vue3中ref和toRef的区别

    1. ref是复制,视图会更新 如果利用ref将某一个对象中的某一个属性值变成响应式数据 我们修改响应式数据是不会影响原始数据的; 同时视图会跟新. ref就是复制 复制是不会影响原始数据的 < ...

  7. pymongo中针对指定集合更新validator规则

    问题描述: 针对mongo中已创建的集合,更新validator验证器规则 解决方法 在确保pymongo中所使用的用户对目标数据库具有dbAdmin之类的管理权限的前提下(若无权限,可在mongo中 ...

  8. ShardingSphere

    目录 1.ShardingSphere分表与分库分表 2.ShardingSphere分库分表查询 3.自定义分片算法实现range查询 4.SPI扩展机制概述 5.stand通过SPI实现range ...

  9. 环境调试bug【二】无法加载源“<string>”: Source unavailable

    1.无法加载源"<string>": Source unavailable. 网上解决方法: 总结来说就两种: debugStdLib: true 添加到 launch ...

  10. 8.2 Windows驱动开发:内核解锁与强删文件

    在某些时候我们的系统中会出现一些无法被正常删除的文件,如果想要强制删除则需要在驱动层面对其进行解锁后才可删掉,而所谓的解锁其实就是释放掉文件描述符(句柄表)占用,文件解锁的核心原理是通过调用ObSet ...