当前位置: 首页 > news >正文

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项目的基本技巧。希望本文对你有所帮助,如果你有任何问题或疑惑,请随时在评论区留言,我将尽力解答。谢谢阅读!
如果觉得有用的话,请你点个赞吧~

相关文章:

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

前言:本文将介绍如何使用IDEA创建一个Spring Boot Hello项目,并通过Maven来管理项目的依赖。我们从项目的创建到代码的编写,再到项目的构建和运行,一步步演示了整个过程。 🚀 作者简介:作为某云服务提供商的…...

Python在电路课程中的应用

1 需求 课程中有大量的计算,电路方程、复数计算,之前都是用的MATLAB online,可现在要过期了,只能更换平台。 2 工具 https://www.online-python.com/ Python3 在线工具 | 菜鸟工具 (runoob.com) 3 Sinusoid 章节 涉及到复数计…...

Spark SQL join的三种实现方式

引言 join是SQL中的常用操作,良好的表结构能够将数据分散到不同的表中,使其符合某种规范(mysql三大范式),可以最大程度的减少数据冗余,更新容错等,而建立表和表之间关系的最佳方式就是join操作。 对于Spark来说有3种…...

wazuh环境配置和漏洞复现

1.wazuh配置 虚拟机 (OVA) - 替代安装 (wazuh.com)在官方网页安装ova文件 打开VMware选择打开虚拟机,把下载好的ova文件放入在设置网络改为NAT模式 账号:wazuh-user 密码:wazuh ip a 查看ip 启动小皮 远程连接 账号admin …...

九五从零开始的运维之路(其三十六)

文章目录 前言一、集群概述1.负载均衡技术类型(一)四层负载均衡器(二)七层负载均衡器 2.负载均衡实现方式(一)硬件负载均衡产品:(二)软件负载均衡产品: 二、L…...

同步和异步有什么区别,使用场景?

同步(Synchronous)和异步(Asynchronous)是用于描述不同的操作和通信模式的术语。它们在处理任务、执行代码以及处理通信时有很大的异同。 同步(Synchronous) 同步操作是指程序的执行顺序按照代码的先后顺序进行,一个操作完成后才能执行下一个操作。在同步操作中,调用一…...

webassembly009 transformers.js 网页端侧推理

之前试用过两个网页端的神经网络框架,一个是 Tensorflow PlayGround,它相当与实现了一个网页端的简单的训练框架,有关节点的数据结构可看这篇。另一个是onnx的网页端(nodejs绿色免安装try onnx on web(chrome)),需要自己转换onnx模…...

Android动态添加和删除控件/布局

一、引言 最近在研究RecyclerView二级列表的使用方法,需要实现的效果如下。 然后查了一些博客,觉得实现方式太过复杂,而且这种方式也不是特别受推荐,所以请教了别人,得到了一种感觉还不错的实现方式。实现的思路为&…...

maven下载不了仓库地址为https的依赖jar,配置参数忽略ssl安全检查

问题原因 私服使用的https地址,然后安全证书过期的或没有,使用maven命令时,可以添加以下参数,忽略安全检查 mvn -Dmaven.wagon.http.ssl.insecuretrue -Dmaven.wagon.http.ssl.allowalltrue -Dmaven.wagon.http.ssl.ignore.vali…...

3.Redis 单线程模型

redis 单线程模型 redis 只使用一个线程来处理所有的命令请求,并不是说一个 redis 服务器进程内部真的就只有一个线程,其实也有多个线程,多个线程是再处理网络 IO。 那么在多线程中,针对类似于这样的场景两个线程尝试同时对一个…...

0基础学习VR全景平台篇 第90篇:智慧眼-数据统计

【数据统计】是按不同条件去统计整个智慧眼项目中的热点,共包含四大块,分别是数据统计、分类热点、待审核、回收站,下面我们来逐一进行介绍。 1、数据统计 ① 可以按所属分类、场景分组、所属场景、热点类型以及输入热点名去筛选对应的热点&…...

【Go】Goland项目配置运行教程

Golang项目配置运行教程 1.安装Golang下载安装包安装 2.Goland配置2.1 环境2.2 goland配置2.2.1 没有makefile的情况2.2.2 有makefile的情况 3.跨平台项目4.补充 注意,本项目描述的是git clone下来的Golang项目配置运行教程,并不是从头创建一个Golang项目…...

Docker容器与虚拟化技术:Docker consul 实现服务注册与发现

目录 一、理论 1.Docker consul 二、实验 1.consul部署 2. consul-template部署 三、总结 一、理论 1.Docker consul (1)服务注册与发现 服务注册与发现是微服务架构中不可或缺的重要组件。起初服务都是单节点的,不保障高可用性&…...

【大模型AIGC系列课程 2-2】大语言模型的“第二大脑”

1. 大型语言模型的不足之处 很多人使用OpenAI提供的GPT系列模型时都反馈效果不佳。其中一个主要问题是它无法回答一些简单的问题。 ● 可控性:当我们用中文问AI一些关于事实的问题时,它很容易编造虚假答案。 ● 实时性:而当你询问它最近发生的新闻事件时,它会干脆地告诉你…...

Java基础数据结构

二叉查找树 二叉查找树,又称二叉树或者二叉搜索树 特点:每一个节点上最多又两个子节点 任意节点左子树上的值都小于当前节点 任意节点右子树上的值都大于当前节点 二叉查找树添加节点:规则 小的存左边 大的存右边 一样的不存 平衡二叉树&am…...

PP-TS基于启发式搜索和集成方法的时序预测模型,使预测更加准确

时间序列数据在各行业和领域中无处不在,如物联网传感器的测量结果、每小时的销售额业绩、金融领域的股票价格等等,都是时间序列数据的例子。时间序列预测就是运用历史的多维数据进行统计分析,推测出事物未来的发展趋势。 为加快企业智能化转…...

vue 04-reactive与ref的选择

reactive与re两者区别? reactive可以转换对象成为响应式数据对象,但是不支持简单数据类型 ref可以转换简单数据类型为响应式数据对象,也支持复杂数据类型,但是操作的时候需要.value 推荐使用的话: 如果能确定数据是对象且字段名称也确定,可以使用reactive转成响应式…...

Mysql索引+事务+存储引擎

索引 索引的概念 索引是一个排序的列表,在这个列表中存储着索引的值和包含这个值的数据所在行的物理地址(类似于C语言的链表通过指针指向数据记录的内存地址)。 使用索引后可以不用扫描全表来定位某行的数据,而是先通过索引表找…...

创建abp vnext项目

需求: 1.使用net core跨平台的方式支持windows和centos系统; 2.实现前后端分离部署 3.框架默认集成用户登录、权限、redis等模块 4.支持多种数据库的方式 5.前端使用vue,不需要使用框架自带的web 1.框架配置官网地址: https://ab…...

【OpenCV实战】3.OpenCV颜色空间实战

OpenCV颜色空间实战 〇、Coding实战内容一、imread1.1 函数介绍1.2 Flags1.3 Code 二. 色彩空间2.1 获取单色空间2.2. HSV、YUV、RGB2.3. 不同颜色空间应用场景 〇、Coding实战内容 OpenCV imread()方法不同的flags差异性获取单色通道【R通道、G通道、B通道】HSV、YUV、RGB 一…...

什么是回调函数(callback function)?

聚沙成塔每天进步一点点 ⭐ 专栏简介⭐ 回调函数(Callback Function)⭐ 示例⭐ 写在最后 ⭐ 专栏简介 前端入门之旅:探索Web开发的奇妙世界 记得点击上方或者右侧链接订阅本专栏哦 几何带你启航前端之旅 欢迎来到前端入门之旅!这…...

零售再增长,直播登“C位”,美团稳稳交出成绩单

8月24日,美团发布2023年中期业绩和二季报,财报显示其二季度实现营收680亿元,同比增长33.4%;实现净利润47.13亿元,同比扭亏为盈,调整后净利润达历史最高水平。其中,与消费市场走势息息相关的美团…...

什么是需求可追溯性,为什么它对产品团队很重要?

随着产品变得越来越复杂,需求在开发过程中将在各个部门和利益相关方之间不断传递。可追溯性能帮助产品团队解决他们在需求管理过程中面临的一大挑战。 目前产品开发需要做出的决策比以往任何时候都多,每一种决策都需要充分考虑对具体需求和整体产品的影…...

Window基础命令

文章目录 查看哪些端口被禁用TCP协议删除开机启动项方案1方案2 查看哪些端口被禁用TCP协议 netsh interface ipv4 show excludedportrange protocoltcp删除开机启动项 方案1 列出所有启动项 bcdedit /enum仔细看你要删除的是哪一项(看description)&a…...

Java List的扩容机制原理及应用

Java List的扩容机制原理及应用 引言 在Java中,List是一种非常常用的数据结构,用于存储有序的元素集合。List的底层实现有多种,如ArrayList、LinkedList等。在使用List时,我们经常会遇到一个问题:当元素数量超过了Li…...

Cesium 显示经纬高

文章目录 需求分析 需求 页面展示经、纬度和高 分析 html <div id"latlng_show" style"width:340px;height:30px;position:absolute;bottom:40px;right:200px;z-index:1;font-size:15px;"><div style"width:100px;height:30px;float:left;…...

专访 Hyper Oracle:可编程的 zkOracle 打造未来世界的超算

许多 Web3 应用在实现的过程中&#xff0c;常常会遇到基础设施方面的限制&#xff0c;包括去中心化自动化、预言机、链上信息搜索等问题。绝大部分区块链的中间件网络都是依赖于节点质押来保证节点执行的诚实性&#xff0c;这样的模式会产生诸多衍生问题&#xff0c;例如安全性…...

ThreadLocal存放当前用户

用户信息必须由后端获取&#xff0c;不能通过前端传入的id是不可信的&#xff0c;&#xff0c;可能会出现越权的问题&#xff0c;&#xff0c;&#xff0c;怎么通过后端获取当前登录用户&#xff0c;&#xff0c;&#xff0c; 就需要将User 和 当前线程绑定在一起&#xff0c;&…...

es入门实战

创建索引 PUT /hotel/ { “mappings”:{ “properties”:{ “title”:{ “type”:“text” }, “city”:{ “type”:“keyword” }, “price”:{ “type”:“double” } } } } 给索引写入数据 POST /hotel/_doc/001 { “title”:“好再来大酒店”, “city”:“东京”, “pri…...

c++系列之指针

今天不是做题系列&#xff0c;是知识系列啦。 说到指针&#xff0c;我们初学这一定会气的牙痒痒把&#xff0c;笔者也是&#xff0c;这么我好久而不得呀&#xff0c;今天来让我们聊聊指针。 其一 首先&#xff0c;我们明确的知道&#xff0c;假如我们开一个变量&#xff0c;…...

炫彩发光字制作网站/广东网站se0优化公司

最近一直找java8相关新特性的文章&#xff0c;发现都太没有一个连贯性&#xff0c;毕竟大家写博客肯定都有自己的侧重点&#xff0c;这里找到一本书&#xff0c;专门介绍java8新特性的&#xff0c;感觉大家可以看看《写给大忙人看的JavaSE8》.这里我会结合书中的知识以及网上的…...

上海建站中心/网络营销专业就业公司

题目描述 请设计一个函数&#xff0c;用来判断在一个矩阵中是否存在一条包含某字符串所有字符的路径。路径可以从矩阵中的任意一个格子开始&#xff0c;每一步可以在矩阵中向左&#xff0c;向右&#xff0c;向上&#xff0c;向下移动一个格子。如果一条路径经过了矩阵中的某一…...

网站建设 技术支持 阿里/韩国电视剧

一.网络架构层次模型 1.网络层次架构组成如图&#xff1a; 核心层&#xff1a;放置外网互联路由器设备 核心层的功能主要是实现骨干网络之间的优化传输&#xff0c;骨干层设计任务的重点通常是冗余能力、可靠性和高速的传输 汇聚层&#xff1a;放置的三层交换机 汇聚层是楼群或…...

网站建设做的人多吗/优化大师网页版

问题 C: 八皇后 时间限制: 1 Sec 内存限制: 128 MB 提交: 54 解决: 48 [提交][状态][讨论版][命题人:quanxing] 题目描述 会下国际象棋的人都很清楚&#xff1a;皇后可以在横、竖、斜线上不限步数地吃掉其他棋子。如何将8个皇后放在棋盘上&#xff08;有8 8个方格&#x…...

wordpress 文档在线浏览/福州seo建站

远程服务调用在实际的项目中很常用&#xff0c;在多重方式中&#xff0c;HTTP应该算是比较常用的&#xff0c;对客户端来说也很方便 但是spring http invoker只支持JAVA语言&#xff0c;结构简单&#xff0c;只依赖与spring框架本身。 首先我们来看服务端&#xff08;依赖于W…...

asp.net网站项目建设/百度24小时人工电话

1.rm命令rm命令可以删除指定的文件或目录。也可以将某个目录及其下属的所有文件及其子目录均删除掉。对于链接文件&#xff0c;只是删除整个链接文件&#xff0c;而原有文件保持不变。2.rm命令使用方法语法&#xff1a;rm [选项] 参数选项&#xff1a;-f&#xff1a;强制删除。…...