从零开始学Spring Boot系列-Hello World
欢迎来到从零开始学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的更多相关文章
- 53. spring boot系列合集【从零开始学Spring Boot】
前40章节的spring boot系列已经打包成PDF在csdn进行发布了,如果有需要的可以进行下载. 下载地址:http://download.csdn.net/detail/linxinglian ...
- 57. Spring 自定义properties升级篇【从零开始学Spring Boot】
之前在两篇文章中都有简单介绍或者提到过 自定义属性的用法: 25.Spring Boot使用自定义的properties[从零开始学Spring Boot] 51. spring boot属性文件之多 ...
- 21. Spring Boot过滤器、监听器【从零开始学Spring Boot】
转载:http://blog.csdn.net/linxingliang/article/details/52069490 上一篇文章已经对定义Servlet 的方法进行了说明,过滤器(Filter) ...
- 81. Spring Boot集成JSP疑问【从零开始学Spring Boot】
[原创文章,转载请注明出处] 针对文章: ()Spring Boot 添加JSP支持[从零开始学Spring Boot] 有网友提了这么一些疑问: 1.Spring Boot使用jsp时,仍旧可以打成 ...
- 78. Spring Boot完美使用FastJson解析JSON数据【从零开始学Spring Boot】
[原创文章,转载请注明出处] 个人使用比较习惯的json框架是fastjson,所以spring boot默认的json使用起来就很陌生了,所以很自然我就想我能不能使用fastjson进行json解析 ...
- 77. Spring Boot Use Thymeleaf 3【从零开始学Spring Boot】
[原创文章,转载请注明出处] Spring Boot默认选择的Thymeleaf是2.0版本的,那么如果我们就想要使用3.0版本或者说指定版本呢,那么怎么操作呢?在这里要说明下 3.0的配置在spri ...
- 75. Spring Boot 定制URL匹配规则【从零开始学Spring Boot】
在之前有一篇文章说了,博客名称从原来的<从零开始学Spring Boot>更改为<Spring Boot常见异常汇总>,后来写了几篇文章之后发展,有些文章还是一些知识点,所以后 ...
- 74. Spring Data JPA方法定义规范【从零开始学Spring Boot】
[从零开始学习Spirng Boot-常见异常汇总] 事情的起因:有人问过我们这个这个问题:为什么我利用Spring data jpa写的方法没有按照我想要的情况进行执行呢?我记得当时只是告诉他你你先 ...
- 72.spring boot讨论群【从零开始学Spring Boot】
[从零开始学习Spirng Boot-常见异常汇总] 如果您碰到什么问题,您可以加群进行探讨,在群里有加入的都是Spring Boot志同道合的朋友: Spring Boot QQ交流群:193341 ...
- 71.mybatis 如何获取插入的id【从零开始学Spring Boot】
[从零开始学习Spirng Boot-常见异常汇总] 在之前的文章已经讲过spring boot集成mybatis了,但是忘记说一个很重要的知识点了,那就是获取获取主键id,这篇文章补充下,sprin ...
随机推荐
- [转帖]PostgreSQL配置文件--WAL
2022-12-23 3.1 Settings 3.1.1 fsync 字符串 默认: fsync = on 开启后强制把数据同步更新到磁盘,可以保证数据库将在OS或者硬件崩溃的后恢复到一个一致的状态 ...
- WorkStation的网络损耗
WorkStation的网络损耗 背景 对周六遇到的问题进行了一下深入思考. 发现虽然可以通过WorkStation的方式来进行Clients以及新命令的扩容. 但是Workstation的桥接网络模 ...
- sshpass 免密码进行文件复制的方法
1. 部分centos8 没有安装 sshpass 需要先安装 sshpass yum install sshpass 2. 需要增加一个配置文件, 避免因为 stickhost 检查 造成命令失效 ...
- 简述if if和if else的关系与区别
简述if if和if else的关系与区别 当满足条件1,条件2都会执行的哈. 双if是每一个if都会进行判断,依次对if进行判断,互相之间不会影响; if(条件1){ 要执行的语句; } if(条件 ...
- 事务提交之后再执行某些操作 → 引发对 TransactionSynchronizationManager 的探究
开心一刻 昨晚,小妹跟我妈聊天 小妹:妈,跟你商量个事,我想换车,资助我点呀 妈:哎呀,你那分扣的攒一堆都够考清华的,还换车资助点,有车开就不错了 小妹:你要是这么逼我,别说哪天我去学人家傍大款啊 妈 ...
- @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 ...
- 【一】MADDPG-单智能体|多智能体总结(理论、算法)
相关文章: [一]MADDPG-单智能体|多智能体总结(理论.算法) [二]MADDPG--单智能体|多智能体总结算法实现--[追逐游戏] [一]-环境配置+python入门教学 [二]-Parl基础 ...
- LeetCode刷题日记2020/8/24
题目描述 给定一个非空的字符串,判断它是否可以由它的一个子串重复多次构成.给定的字符串只含有小写英文字母,并且长度不超过10000. 示例 1: 输入: "abab" 输出: Tr ...
- Linux系统NTP配置同步修改硬件时钟
前言: 硬件时钟:即BIOS时间,就是CMOS设置时看到的时间,存储在主板BIOS里,关机及断电后由主板电池供电维持时间的守时. 系统时钟:linux系统Kernel时间,由CPU守时,关机及断 ...
- 【链表】链表的合并【经典面试OJ详解】【力扣21,力扣23】超详细的算法教程
链表的合并 导航小助手 说在前面 题目链接 链表结构 OJ21.合并两个有序链表 题目描述和算法分析 接口的完整实现代码 OJ23.合并K个升序链表 题目描述和算法分析 接口的完整实现代码 尾声 说在 ...