2. 使用IDEA创建Spring Boot Hello项目并管理依赖——Maven入门指南

前言:本文将介绍如何使用IDEA创建一个Spring Boot Hello项目,并通过Maven来管理项目的依赖。我们从项目的创建到代码的编写,再到项目的构建和运行,一步步演示了整个过程。


🚀 作者简介:作为某云服务提供商的后端开发人员,我将在这里与大家简要分享一些实用的开发小技巧。在我的职业生涯中积累了丰富的经验,希望能通过这个博客与大家交流、学习和成长。技术栈:Java、PHP、Python、Vue、React
🎈 本文收录于三木的「Java探索者之路」系列专栏,这个专栏旨在引领Java开发者踏上一段真正探索Java世界的旅程。我们将深入探讨Java编程的方方面面,从基础知识到高级技巧,从实践案例到最新趋势,帮助你成为一名卓越的Java探索者。如果有想进入Java后端领域工作的同学,这个专栏会对你有所帮助,欢迎关注起来呀
🌼 本人也会持续的去关注AIGC以及人工智能领域的一些动向并总结到博客中,大家感兴趣的可以关注一下我的「AI」专栏
🌊 「Python爬虫」的入门学习系列,大家有兴趣的可以看一看


文章目录

      • 准备工作
      • 创建Spring Boot项目
      • 编写代码
      • 直接运行项目(模拟开发环境)
      • 构建和运行项目 (模拟线上环境)
      • 总结

本文将带你一步步使用IDEA创建一个简单的Spring Boot Hello项目,并演示如何通过Maven来管理项目的依赖。

准备工作

在开始之前,确保你已经完成以下准备工作:

  1. 安装Java开发环境:确保你已经安装了Java Development Kit(JDK)并配置好了环境变量。
  2. 安装IDEA:下载并安装IntelliJ IDEA,这是一款功能强大的Java集成开发环境。
  3. 确认Maven安装:IDEA通常会自带Maven插件,但请确保你已经正确安装了Maven并配置好了环境变量。

创建Spring Boot项目

现在,我们来创建一个简单的Spring Boot Hello项目。

步骤1:打开IDEA,点击菜单栏的 “File”,选择 “New”,然后选择 “Project”。

步骤2:在弹出的窗口中,选择 “Spring Initializr”,然后点击 “Next”。

步骤3:在 “Project SDK” 下拉菜单中选择你的Java开发环境。

步骤4:在 “Project” 面板中,填写项目的基本信息,如 “Group” 和 “Artifact”,这些信息将用于生成项目的包名和唯一标识符。

请添加图片描述

步骤5:在 “Dependencies” 面板中,选择 “Spring Web”,这将添加Spring Boot Web Starter依赖,用于构建一个简单的Web应用程序。

步骤6:点击 “Next”,选择项目的存储路径,并点击 “create” 完成项目的创建。

在这里插入图片描述

注意选择springboot 2的版本,因为springboot3.0 使用 jdk17 写的,咱们现在使用最经典的jdk8创建项目。

编写代码

现在,我们来编写一个简单的HelloController类,用于处理Web请求并返回 “Hello, Maven!”。

步骤1:在IDEA的项目结构面板中,找到生成的项目文件夹,展开 “src” -> “main” -> “java”,然后右键点击包名,选择 “New” -> “Java Class”。

步骤2:在弹出的窗口中,填写类名为 “HelloController”,然后点击 “OK”。
在这里插入图片描述

步骤3:在打开的HelloController类中,编写以下代码:

package com.example.demo.controller;import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RestController;@RestController
public class HelloController {@GetMapping("/hello")public String hello() {return "hello";}}

在这里插入图片描述

直接运行项目(模拟开发环境)

在这里插入图片描述

成功运行如下图:

在这里插入图片描述

浏览器访问http://127.0.0.1:8080/hello,成功返回hello.
在这里插入图片描述

把项目停掉,开始打包项目。

在这里插入图片描述

构建和运行项目 (模拟线上环境)

现在,我们来使用Maven进行项目的构建和运行。

打包前的项目目录。

在这里插入图片描述

步骤1:在IDEA的侧边工具栏中,点击 “m” 图标,打开终端,点击package进行打包,如果之前打过包的话,可以点击clean进行清理。

在这里插入图片描述

成功打包的标识。

在这里插入图片描述

步骤2:构建成功后,在终端中运行以下命令来启动项目:

java -jar target/demo-0.0.1-SNAPSHOT.jar   

在这里插入图片描述

步骤3:在浏览器中访问 http://localhost:8080/hello,你将看到 “hello” 的输出。

恭喜!你已经成功使用IDEA和Maven创建了一个简单的Spring Boot Hello项目,并成功运行起来。

总结

通过学习和实践,你已经掌握了使用Maven来管理Java项目的基本技巧。希望本文对你有所帮助,如果你有任何问题或疑惑,请随时在评论区留言,我将尽力解答。谢谢阅读!
如果觉得有用的话,请你点个赞吧~

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/108352.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

有什么react进阶的项目推荐的?

前言 整理了一些react相关的项目,可以选择自己需要的练习,希望对你有帮助~ 1.ant-design Star:87.1k 阿里开源的react项目,作为一个UI库,省去重复造轮子的时间 仓库地址:https://github.com/ant-design/…

《JVM修仙之路》初入JVM世界

《JVM修仙之路》初入JVM世界 博主目前正在学习JVM的相关知识,想以一种不同的方式记录下,娱乐一下 清晨,你睁开双眼,看到刺眼的阳光,你第一反应就是完了完了,又要迟到了。刚准备起床穿衣的你突然意识到不对&…

畜牧兽医虚拟仿真|病禽解剖VR模拟操作演练系统

在生物学课程中,动物解剖是一个重要的组成部分,它能够帮助学生了解动物的生理结构、功能和生活习性,从而更好地认识和保护自然界的生物多样性。然而,传统的动物解剖教学方法往往局限于课堂教学和实验室实践,学生很难真…

系统架构设计高级技能 · 面向服务架构设计理论与实践

点击进入系列文章目录 系统架构设计高级技能 面向服务架构设计理论与实践 一、SOA的相关概念1.1SOA的定义1.2 业务流程与业务流程执行语言 二、SOA的发展史三、SOA与微服务的区别三、SOA的参考架构四、SOA的主要协议规范五、SOA的设计标准要求六、SOA的作用与设计原则七、SOA的…

信息化发展2

信息系统生命周期 1 、软件的生命周期通常包括:可行性分析与项目开发计划、需求分析、概要设计、详细设计、编码、测试、维护等阶段。 2 、信息系统的生命周期可以简化为:系统规划(可行性分析与项目开发计划),系统分析…

心法利器[97] | 判断问题是否真的需要大模型来解决

心法利器 本栏目主要和大家一起讨论近期自己学习的心得和体会,与大家一起成长。具体介绍:仓颉专项:飞机大炮我都会,利器心法我还有。 2022年新一版的文章合集已经发布,累计已经60w字了,获取方式看这里&…

DevOps中的持续测试优势和工具

持续测试 DevOps中的持续测试是一种软件测试类型,它涉及在软件开发生命周期的每个阶段测试软件。持续测试的目标是通过早期测试和经常测试来评估持续交付过程的每一步的软件质量。 DevOps中的持续测试流程涉及开发人员、DevOps、QA和操作系统等利益相关者。 持续…

dockerfile镜像及Harbor私有仓库搭建的应用

目录 搭建私有仓库harbordockerfile构建镜像1,先创建一个目录2,编写dockerfile3,构建4, 验证镜像5,标记镜像6,上传镜像 搭建私有仓库harbor 首先安装容器编排工具:docker compose 我使用的是离…

函数式编程-Stream流学习第二节-中间操作

1 Stream流概述 java8使用的是函数式编程模式,如同它的名字一样,它可以用来对集合或者数组进行链状流式操作,让我们更方便的对集合或者数组进行操作。 2 案例准备工作 我们首先创建2个类一个作家类,一个图书类 package com.stream.model;…

邂逅JavaScript

前言:前端三大核心 前端开发最主要需要掌握的是三个知识点:HTML、CSS、JavaScript 一、认识编程语言 1.计算机语言 前面我们已经学习了HTML和CSS很多相关的知识: 在之前我们提到过, HTML是一种标记语言, CSS也是一种样式语言; 他们本身都是属于计算…

CNN 02(CNN原理)

一、卷积神经网络(CNN)原理 1.1 卷积神经网络的组成 定义 卷积神经网络由一个或多个卷积层、池化层以及全连接层等组成。与其他深度学习结构相比,卷积神经网络在图像等方面能够给出更好的结果。这一模型也可以使用反向传播算法进行训练。相比较其他浅层或深度神经…

LLM-chatgpt训练过程

流程简介 主要包含模型预训练和指令微调两个阶段 模型预训练&#xff1a;搜集海量的文本数据&#xff0c;无监督的训练自回归decoder&#xff1b; O T P ( O t < T ) O_TP(O_{t<T}) OT​P(Ot<T​)&#xff0c;损失函数CE loss指令微调&#xff1a;在输入文本中加入…

在ubuntu上部署label-studio

1. 安装label-studio 由于服务器的默认python3版本太低&#xff0c;尝试了很多方法&#xff0c;没有升级。因此采用annaconda方式安装label-studio. a.安装anaconda: 参照如下链接&#xff0c;安装anaconda。 Ubuntu安装Anaconda详细步骤&#xff08;Ubuntu22.04.1&#xff…

Hyperf 如何做到用两个端口 9501/9502 都能连接 Websocket 服务以及多 Worker 协作实现聊天室功能

为何 Hyperf 能够在两个端口上监听 WebSocket 连接&#xff1f; 源码角度来看&#xff0c;在配置了多个 Servers 时&#xff0c;实际上&#xff0c;只启动了一个 Server 注&#xff1a;我之前接触的代码都是启动一个服务绑定一个端口&#xff0c;之前也看过 swoole 扩展的文档…

【el-tree】树形组件图标的自定义

饿了么树形组件的图标自定义 默认样式: 可以看到el-tree组件左侧自带展开与收起图标,咱们可以把它隐藏:: .groupList {::v-deep .el-tree-node { .el-icon-caret-right {display: none;} } } 我的全部代码 <div class"groupList"><el…

[NLP]深入理解 Megatron-LM

一. 导读 NVIDIA Megatron-LM 是一个基于 PyTorch 的分布式训练框架&#xff0c;用来训练基于Transformer的大型语言模型。Megatron-LM 综合应用了数据并行&#xff08;Data Parallelism&#xff09;&#xff0c;张量并行&#xff08;Tensor Parallelism&#xff09;和流水线并…

DML语句的用法(MySQL)

文章目录 前言一、DML介绍二、DML语句操作1、给指定字段添加数据2、给全部字段添加数据3、批量添加数据4、修改数据5、删除数据 总结 前言 本文主要介绍SQL语句中DML语句的用法。 在实验开始之前我们先创建一下所要使用表&#xff0c;如下图所示&#xff1a; 一、DML介绍 DM…

matlab使用教程(22)—非线性优化函数的设置

1.设置优化选项 可以使用由 optimset 函数创建的 options 结构体来指定优化参数。然后&#xff0c;可以将 options 作为输入传递给优化函数&#xff0c;例如&#xff0c;通过使用以下语法调用 fminbnd x fminbnd(fun,x1,x2,options) 或使用以下语法调用 fminsearch x f…

单片机IO模拟串口协议

一、前言 嵌入式硬件平台调试中常用的debug方法是看串口打印定位问题&#xff0c;但有时候会遇到单片机没有串口外设或者串口引脚被占用的情况&#xff0c;这时候也可以在代码里操作空闲的IO输出不同个数的脉冲来达到调试的效果&#xff0c;但是要用逻辑分析仪抓线逐个看波形比…

js深拷贝三种方法

使用递归函数实现深拷贝 const obj {name: zzz,age: 18,hobby: [篮球, 足球],family: {baby: baby}} // 深拷贝 数组 对象 一定要先筛数组再筛对象,因为万物皆对象function deepcopy(newObj, oldObj) {for (const k in oldObj) {// 判断值是否属于array类if (oldObj[k] i…