【Spring Boot】SpringBoot maven 项目创建图文教程

创建一个Spring Boot项目并使用Maven进行构建是一项相对简单的任务。以下是使用IntelliJ IDEA创建Spring Boot + Maven项目的详细教程:

步骤 1:安装 IntelliJ IDEA

确保你已经安装了最新版本的 IntelliJ IDEA。你可以从官方网站下载并安装。

步骤 2:创建新项目

  • 打开 IntelliJ IDEA。
  • 点击 “File” -> “New” -> “Project…”。
    在这里插入图片描述

步骤 3:选择项目类型

  • 在左侧选择 “Spring Initializer”。

  • 在右侧选择 jdk 版本 和 initialzr service url。

    这个选项允许你选择从哪个地址获取 Spring Initializr 的元数据信息和模板。 默认情况下,IntelliJ IDEA会使用官方的 Spring Initializr 服务地址,即 https://start.spring.io。这是 Spring 团队提供的在线服务,用于帮助快速生成 Spring Boot项目的基础结构。
    如果由于某些原因你想使用自定义的 Initializr 服务,或者你的公司有自己搭建的 Initializr 服务,你可以更改这个选项。在大多数情况下,使用默认的官方服务是合适的。

    在这里插入图片描述
    填写 “Group” 和 “Artifact”,它们是你项目的包名和项目名。
    选择 “java” 作为主语言。
    选择项目类型,此处使用 Maven 。(这个地方项目名不能有大写字母,截完图才发现,大家注意一下)
    在这里插入图片描述
    点击 “Next”。

步骤 4:配置项目

  • 选择Spring Boot 版本号 和 Spring Web 依赖
    在这里插入图片描述

    选择 Spring Web 依赖的情况:

    如果你的后端项目需要提供RESTful API或Web服务,那么选择 Spring Web 依赖是很合适的。Spring Web
    提供了一组工具和框架,用于构建基于Spring的Web应用程序,包括处理HTTP请求、构建RESTful服务、处理表单提交等功能。
    不选择Spring Web 依赖的情况:

    如果你的后端项目只是一个纯粹的服务,不需要处理Web请求,也不需要提供Web页面,可能没有必要添加 Spring Web
    依赖。这可以发生在一些微服务或后端服务的情况下,它们可能更关注业务逻辑而不是直接处理HTTP请求。

    一般来说,在生产环境中,推荐使用没有SNAPSHOT后缀的Release版本,因为它们是经过充分测试的、相对稳定的版本。在开发和测试阶段,可以使用Snapshot版本以获取最新的功能和改进。详细讲解参考正式版本和快照版本详解
    这个spring Boot 的版本号自己视情况而定,图中所示的3.2.1报错,项目新建成功后可在pom.xml文件中修改。

  • 点击next选择项目存储路径,在 “Project name” 下,你可以修改项目名称。选择项目的 “Project location”。

  • 点击 “Finish”。

步骤 5:等待项目初始化

IntelliJ IDEA 将下载所需的依赖并创建项目结构。
创建完成后,可以删除自动生成的 .mvn.gitignoreHELP.mdmvnwmvnw.cmd。详情参考【Spring Boot】 .mvn、.gitignore、HELP.md、mvnw、mvnw.cmd 文件的作用

步骤 6:编写代码

打开 src/main/java/com.example.demo/DemoApplication.java 文件。
编写一个简单的Spring Boot应用程序,例如:

package com.example.beinifenshop;import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;@SpringBootApplication
public class BeinifenshopApplication {public static void main(String[] args) {SpringApplication.run(BeinifenshopApplication.class, args);}}
package com.example.beinifenshop.Controller;import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
@RestController
public class HelloWord {@RequestMapping("/boot")public String helloSpringBoot() {return "Hello Spring Boot";}
}

步骤 7:运行项目

右键点击BeinifenshopApplication.java,选择 "Run BeinifenshopApplication"
在这里插入图片描述

步骤 8:访问应用

打开浏览器,访问 http://localhost:8080/boot,你应该能够看到Spring Boot的欢迎页面。
在这里插入图片描述

以上就是在 IntelliJ IDEA 中使用 Maven 创建 Spring Boot 项目的基本步骤。你可以根据项目的需要添加更多的依赖和配置。如果需要数据库、Web开发等特定功能,可以在创建项目时选择对应的依赖。

使用mybatis连接数据库参考SpringBoot+MyBatis后端框架详细教程

持续更新,动动小手,点点关注,后续更精彩!

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

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

相关文章

基于SpringBoot+Redis的前后端分离外卖项目-苍穹外卖微信小程序端(十一)

加入redis缓存 1. 缓存菜品1.1 问题说明1.2 实现思路1.3 代码开发1.4 功能测试 2. 缓存套餐2.1 Spring Cache2.1.1 介绍2.1.2 常用注解2.1.3 入门案例 2.2 具体实现思路2.3 代码开发 1. 缓存菜品 1.1 问题说明 用户端小程序展示的菜品数据都是通过查询数据库获得,…

Spring学习之——代理模式

Proxy代理模式 介绍 为其他对象提供一种代理以控制对这个对象的访问。在某些情况下,一个对象不适合或者不能直接引用另一个对象,而代理对象可以在客户端和目标对象之间起到中介的作用 2. 组成 抽象角色:通过接口或抽象类声明真实角色实现的…

cfa一级考生复习经验分享系列(十九)

关于考试时间 机考一共180题,分上下两场,中间可以休息30分钟,我是直接一口气做完的,如果觉得要休息的可以考完上半场跟监考老师示意一下,也可以不休息,不过好像连续做了多长时间会强制休息。 关于考题分布…

MySQL一主一从读写分离

​ MySQL主从复制 一、主从复制概念 主从复制是指将主数据库的DDL和DML操作通过二进制日志传到从服务器中,然后在从服务器上对这些日志重新执行也叫重做,从而使得从数据库和主库的数据保持同步。 MySQL支持一台主库同时向多台从库进行赋值,从…

20240110-Python实现读取当前文件夹下所有视频名称和时长并生成一张表

代码 import os import cv2 import csv# 获取当前文件夹路径 folder_path os.getcwd() # 如果当前文件夹就是目标文件夹可以直接使用 ./,否则修改为目标文件夹的路径# 获取当前文件夹中所有视频文件的名称 video_files [f for f in os.listdir(folder_path) if …

腾讯云对象存储COS计算文件的大小

properties配置类 TencentCos.APPIDxxxxx TencentCos.SecretIdxxxxxxx TencentCos.SecretKeyxxxxxx TencentCos.testBucketxxxxxx TencentCos.CosPathhttps://xxxxxxxx.cos.ap-chengdu.myqcloud.com TencentCos.regionap-chengdu读取properties中的配置 import lombok.AllArg…

响应式编程Reactor优化Callback回调地狱

1. Reactor是什么 Reactor 是一个基于Reactive Streams规范的响应式编程框架。它提供了一组用于构建异步、事件驱动、响应式应用程序的工具和库。Reactor 的核心是 Flux(表示一个包含零到多个元素的异步序列)和 Mono表示一个包含零或一个元素的异步序列…

kubeSphere DevOps自定义容器环境JDK11

kubeSphere DevOps自定义容器环境JDK11 🍂前言🍂增加JDK11容器环境🍁检查是否成功 🍂不生效的原因排查🍁按步骤执行如下命令 🍂前言 kubeSphere 版本v3.1.1 遇到问题:kubeSphere默认支持容器只有JDK8,目前…

Ubuntu22.04,Nvidia4070配置llama2

大部分内容参考了这篇非常详细的博客,是我最近看到的为数不多的保姆级别的教学博客,建议大家去给博主点个赞【Ubuntu 20.04安装和深度学习环境搭建 4090显卡】_ubuntu20.04安装40系显卡驱动-CSDN博客 本篇主要是基于这篇博客结合自己配置的过程中一些注…

DC电源模块技术的未来发展趋势

BOSHIDA DC电源模块技术的未来发展趋势 随着科技的不断发展,DC电源模块技术也在不断演进。以下是DC电源模块技术未来发展的一些趋势: 1. 高效能:未来DC电源模块的效能将得到进一步提高。通过改进转换拓扑结构、优化控制算法和使用高效能元器…

Kafka 除了用作消息队列还能干吗?

Kafka 除了用作消息队列还能干吗? 本文转自 公众号 ByteByteGo,如有侵权,请联系,立即删除 Kafka 最初是为大规模处理日志而构建的。它可以保留消息直到过期,并让各个消费者按照自己的节奏提取消息。 与其之前的竞品不…

CPT203-Software Engineering 笔记

Week 1 -- Introduction failure reason professional software development*** maintain, security, efficiency, acceptability two kinds***: generic, customized software deterioration 软件退化 reduce changes/ side effects after changes software engineering …

01.10

257.二叉树的所有路径 思路 一开始题目看错,以为是二叉树根到每个节点的路径,后来改正是到每个叶子节点路径。 深度优先搜索:二叉树所有路径,那么只需遍历其左右子树的路径列表,然后再将该节点的值放入路径即可。如…

VMware Visio OmniGraffle模板和图标

VMware Visio OmniGraffle模板和图标 包含可用于Visio、omnigraffle的图标和SVG矢量图。 简介 这组资源适用于 IT 管理员、系统架构师、网络工程师和其他需要可视化 VMware 基础架构的专业人士创建精确的 VMware 网络和数据中心部署图,通过使用这些模板和图标&am…

了解开源协议吗,简单介绍下开源协议

简单图解 开源协议的简单图解 列表图解

计算机毕业设计-----SSH校园精品课程网前后台

项目介绍 本项目是很不错的一个校园精品课程网源码,前台和后台源码都有,分为管理员与学生两种角色; 前台功能:网站首页,校园新闻,课程中心,资源下载,互动交流,个人中心…

chrony 时间同步

一.chrony简介 chrony 的优势: ① 更快的同步,从而最大程度减少了时间和频率误差,对于并非全天 24 小时运行的虚拟计算机而言非常有用。 相对于NTP来说,chrony性能更好 NTP是网络时间协议(Network Time Protocol),它…

VUE购物车商品的添加、删除和计算总金额功能

效果 代码 <template><div id"box"><!--全选功能--><input type"checkbox" change"handleChange" v-model"isAllChecked" /><!--绑定事件&#xff0c;不选用click&#xff0c;使用change每次check值改变会…

【人工智能】智能电网:未来能源的革命

未来能源的革命 智能电网革命的意义在于将电力行业从传统的集中式发电和集中式输配电模式转变为智能化、分布式、互动式的能源网络。 现在我们从以下方面详细认真的了解一下智能电网&#xff1a; 智能变电站&#xff0c;智能配电网&#xff0c;智能电能表&#xff0c;智能交互…

基于传统机器学习模型算法的项目开发详细步骤

1 场景分析 1.1 项目背景 描述开发项目模型的一系列情境和因素&#xff0c;包括问题、需求、机会、市场环境、竞争情况等 1.2. 解决问题 传统机器学习在解决实际问题中主要分为两类&#xff1a; 有监督学习&#xff1a;已知输入、输出之间的关系而进行的学习&#xff0c;从而…