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

【工具使用】IDEA 社区版如何创建 Spring Boot 项目(详细教程)

IDEA 社区版如何创建 Spring Boot 项目(详细教程)

Spring Boot 以其简洁、高效的特性,成为 Java 开发的主流框架之一。虽然 IntelliJ IDEA 专业版提供了Spring Boot 项目向导,但 社区版(Community Edition) 并不自带 Spring Boot 项目创建功能。

那么,如何在 IDEA 社区版中创建一个 Spring Boot 项目呢?本篇文章将手把手教你 使用 IDEA 社区版 + Maven 快速创建 Spring Boot 项目,并成功运行第一个 Spring Boot 应用!🚀


1. 前置准备

在创建 Spring Boot 项目之前,确保你的开发环境已经准备就绪。

安装 JDK(推荐 JDK 17 或以上)

  • 你可以在 Oracle JDK 官网 或 OpenJDK 下载并安装。
  • 安装完成后,使用 java -version 检查:
    java -version
    
    例如:
    openjdk version "17.0.2" 2023-09-20 LTS
    

安装 IntelliJ IDEA 社区版

  • 下载地址:JetBrains 官网
  • 选择 Community(社区版) 进行安装。

安装 Maven(可选,如果 IDEA 没有自带)

  • 下载:Maven 官网
  • 配置环境变量,并运行以下命令检查安装是否成功:
    mvn -version
    
    例如:
    Apache Maven 3.8.4
    

确保网络畅通(国内建议配置阿里云 Maven 仓库)


2. 在 IDEA 社区版中创建 Spring Boot 项目

虽然社区版没有直接的 Spring Boot 项目向导,但我们可以手动创建 Maven 项目 并引入 Spring Boot 依赖。

2.1 创建 Maven 项目

1️⃣ 打开 IDEA 社区版,点击 “File” → “New” → “Project”
2️⃣ 选择 “Maven”,然后点击 Next
3️⃣ 在 “GroupId”“ArtifactId” 中填写项目信息,例如:

  • GroupIdcom.example
  • ArtifactIdspringboot-demo
  • Version1.0.0(默认即可)
    4️⃣ 选择 JDK 版本(建议选择 17 或以上)
    5️⃣ 点击 Finish,等待 IDEA 创建项目

2.2 添加 Spring Boot 依赖

创建好 Maven 项目后,需要手动添加 Spring Boot 依赖

📌 打开 pom.xml,添加以下内容:

<project xmlns="http://maven.apache.org/POM/4.0.0"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"><modelVersion>4.0.0</modelVersion><groupId>com.example</groupId><artifactId>springboot-demo</artifactId><version>1.0.0</version><packaging>jar</packaging><properties><java.version>17</java.version><spring.boot.version>3.2.2</spring.boot.version></properties><dependencies><!-- Spring Boot 核心依赖 --><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter</artifactId><version>${spring.boot.version}</version></dependency><!-- Spring Boot Web 依赖(用于创建 REST API) --><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-web</artifactId><version>${spring.boot.version}</version></dependency><!-- 单元测试 --><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-test</artifactId><version>${spring.boot.version}</version><scope>test</scope></dependency></dependencies><build><plugins><plugin><groupId>org.springframework.boot</groupId><artifactId>spring-boot-maven-plugin</artifactId><version>${spring.boot.version}</version></plugin></plugins></build>
</project>

💡 解释:

  • spring-boot-starter:核心依赖,支持 Spring Boot 基础功能。
  • spring-boot-starter-web:Web 依赖,支持 REST API。
  • spring-boot-maven-plugin:用于打包和运行 Spring Boot 应用。

📌 点击右侧 Maven 面板 → “Reload All Maven Projects”,等待 IDEA 下载依赖。


3. 编写第一个 Spring Boot 应用

Maven 依赖配置完成后,我们可以开始编写 Spring Boot 代码。

3.1 创建 Spring Boot 启动类

src/main/java/com/example 目录下,新建 SpringbootDemoApplication.java

package com.example;import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;@SpringBootApplication
public class SpringbootDemoApplication {public static void main(String[] args) {SpringApplication.run(SpringbootDemoApplication.class, args);}
}

3.2 创建 HelloWorld 控制器

com.example.controller 目录下,新建 HelloController.java

package com.example.controller;import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;@RestController
@RequestMapping("/api")
public class HelloController {@GetMapping("/hello")public String hello() {return "Hello, Spring Boot!";}
}

4. 运行 Spring Boot 项目

方法 1:使用 Maven

📌 在 IDEA 终端(Terminal) 中运行:

mvn spring-boot:run

方法 2:使用 Java 运行

📌 在 IDEA 左侧 “SpringbootDemoApplication.java” 右键 → “Run ‘SpringbootDemoApplication’”

运行成功后,控制台会输出

Tomcat started on port 8080
Started SpringbootDemoApplication in 2.345 seconds

📌 在浏览器访问:

http://localhost:8080/api/hello

返回结果

Hello, Spring Boot!

5. 总结

🎯 在 IDEA 社区版创建 Spring Boot 项目的完整步骤:

  1. 创建 Maven 项目(手动选择 Maven)。
  2. 添加 Spring Boot 依赖(修改 pom.xml)。
  3. 编写 Spring Boot 启动类SpringbootDemoApplication.java)。
  4. 创建 REST API 控制器HelloController.java)。
  5. 运行 Spring Boot 项目(Maven 或 Java 直接运行)。

✨ **虽然 IDEA 社区版没有 Spring Boot 向导,但通过手动配置 Maven 依赖,我们依然可以顺利开发 Spring Boot 应用!**🚀


📌 你学会了吗? 如果觉得有帮助,欢迎点赞、收藏、转发!💡💬

相关文章:

【工具使用】IDEA 社区版如何创建 Spring Boot 项目(详细教程)

IDEA 社区版如何创建 Spring Boot 项目&#xff08;详细教程&#xff09; Spring Boot 以其简洁、高效的特性&#xff0c;成为 Java 开发的主流框架之一。虽然 IntelliJ IDEA 专业版提供了Spring Boot 项目向导&#xff0c;但 社区版&#xff08;Community Edition&#xff09…...

基于Prometheus+Grafana的Deepseek性能监控实战

文章目录 1. 为什么需要专门的大模型监控?2. 技术栈组成2.1 vLLM(推理引擎层)2.2 Prometheus(监控采集层)2.3 Grafana(数据可视化平台)3. 监控系统架构4. 实施步骤4.1 启动DeepSeek-R1模型4.2 部署 Prometheus4.2.1 拉取镜像4.2.2 编写配置文件4.2.3 启动容器4.3 部署 G…...

Spring学习笔记:工厂模式与反射机制实现解耦

1.什么是Spring? spring是一个开源轻量级的java开发应用框架&#xff0c;可以简化企业级应用开发 轻量级 1.轻量级(对于运行环境没有额外要求) 2.代码移植性高(不需要实现额外接口) JavaEE的解决方案 Spring更像是一种解决方案&#xff0c;对于控制层&#xff0c;它有Spring…...

pytest数据库测试文章推荐

参考链接&#xff1a; 第一部分&#xff1a;http://alextechrants.blogspot.fi/2013/08/unit-testing-sqlalchemy-apps.html第二部分&#xff1a;http://alextechrants.blogspot.fi/2014/01/unit-testing-sqlalchemy-apps-part-2.html...

vue3 二次封装uni-ui中的组件,并且组件中有 v-model 的解决方法

在使用uniappvue3开发中&#xff0c; 使用了uni-ui的组件&#xff0c;但是我们也需要自定义组件&#xff0c;比如我要自定一个picker 的组件&#xff0c; 是在 uni-data-picker 组件的基础上进行封装的 父组件中的代码 <classesselect :selectclass"selectclass"…...

探索高性能AI识别和边缘计算 | NVIDIA Jetson Orin Nano 8GB 开发套件的全面测评

随着边缘计算和人工智能技术的迅速发展&#xff0c;性能强大的嵌入式AI开发板成为开发者和企业关注的焦点。NVIDIA近期推出的Jetson Orin Nano 8GB开发套件&#xff0c;凭借其40 TOPS算力、高效的Ampere架构GPU以及出色的边缘AI能力&#xff0c;引起了广泛关注。本文将从配置性…...

Prompt 工程

一、提示原則 import openai import os import openai from dotenv import load_dotenv, find_dotenv from openai import OpenAI def get_openai_key():_ load_dotenv(find_dotenv())return os.environ[OPENAI_API_KEY]client OpenAI(api_keyget_openai_key(), # This is …...

【学习笔记】《逆向工程核心原理》03.abex‘crackme-2、函数的调用约定、视频讲座-Tut.ReverseMe1

文章目录 abexcrackme-21. Visual Basic文件的特征1.1. VB专用引擎1.2. 本地代码与伪代码1.3. 事件处理程序1.4. 未文档化的结构体 2. 开始调试2.1. 间接调用2.2. RT_MainStruct结构体2.3. ThunRTMain()函数 3. 分析crackme3.1. 检索字符串3.2. 查找字符串地址3.3. 生成Serial的…...

React基础之项目实战

规范的项目结构 安装scss npm install sass -D 安装Ant Design组件库 内置了一些常用的组件 npm install antd --save 路由基础配置 npm i react-router-dom 路由基本入口 import Layout from "../page/Layout"; import Login from "../page/Login"; impor…...

SAP-ABAP:SAP数据库视图的创建图文详解

在SAP ABAP中&#xff0c;数据库视图&#xff08;Database View&#xff09;是通过ABAP字典&#xff08;ABAP Dictionary&#xff09;创建的。数据库视图是基于一个或多个数据库表的虚拟表&#xff0c;它允许你定义一种逻辑视图来访问数据。以下是创建数据库视图的步骤&#xf…...

基于深度学习的肺炎X光影像自动诊断系统实现,真实操作案例分享,值得学习!

医疗影像智能化的技术演进 医学影像分析正经历从人工判读到AI辅助诊断的革命性转变。传统放射科医师分析胸部X光片需要8-12年专业训练&#xff0c;而基于深度学习的智能系统可在秒级完成检测。本文将以肺炎X光检测为切入点&#xff0c;详解从数据预处理到模型部署的全流程实现。…...

Unity Shader学习总结

1.帧缓冲区和颜色缓冲区区别 用于存储每帧每个像素颜色信息的缓冲区 帧缓冲区包括&#xff1a;颜色缓冲区 深度缓冲区 模板缓冲区 自定义缓冲区 2.ImageEffectShader是什么 后处理用的shader模版 3.computerShader 独立于渲染管线之外&#xff0c;在显卡上运行&#xff0c;大量…...

算法精讲 | 树(番外):平衡世界的四大守护者:AVL vs 红黑树 vs B树 vs B+树

&#x1f332; 算法精讲 | 树&#xff08;番外&#xff09;&#xff1a;平衡世界的四大守护者&#xff1a;AVL vs 红黑树 vs B树 vs B树 &#x1f4c5; 2025/03/12 || &#x1f31f; 推荐阅读时间 30分钟 &#x1f680; 开篇&#xff1a;数据结构界的四大天王 想象你是一名图书…...

第十八:go 并发 goroutine

channel 可以让多个goroutine 之间实现通信 Add方法调用时机&#xff1a;必须在goroutine 启动之前调用Add方法来增加计数器的值。 如果在goroutine已经启动之后再调用Add&#xff0c;可能会导致Wait方法提前返回&#xff0c;因为计数器没有正确反映正在运行的goroutine的数量…...

在vs中无法用QtDesigner打开ui文件的解决方法

解决方法 右键ui文件&#xff0c;选择打开方式&#xff0c;弹出如下界面。 点击添加&#xff0c;弹出如下界面 点击程序后边的三个点&#xff0c;去电脑查找designer.exe,我的位置为D:\Qt\Qt5.9.9\5.9.9\msvc2015_64\bin\designer.exe。 名称可以自己起一个名字&#xff0c…...

【Maven教程与实战案例】

文章目录 前言一、Maven是什么&#xff1f;二、Maven的安装与配置1. 安装前置条件2. 下载与配置 Maven3. 验证安装 三、Maven的核心概念1. POM.xml 文件2. 构建生命周期与插件机制 四、实战项目示例1. 项目目录结构2. 编写代码App.javaAppTest.java 3. 构建项目4. 运行项目 前言…...

基于SSM的海外代购系统

一、 项目介绍 基于SSM的海外代购系统 角色&#xff1a;管理员、用户、代购员 管理员&#xff1a; 管理员登录海外代购系统可以添加、修改或者删除首页、代购员、用户、商品分类、海外代购、采购入库、系统管理、订单管理、用户资料 等。 用户&#xff1a;当用户打开系统的网…...

图像识别技术与应用-YOLO

1 YOLO-V1 YOLO-V1它是经典的one-stage方法&#xff0c;You Only Look Once&#xff0c;名字就已经说明了一切&#xff01;把检测问题转化成回归问题&#xff0c;一个CNN就搞定了&#xff01;也可以对视频进行实时检测&#xff0c;应用领域非常广&#xff01; YOLO-V1诞生与2…...

严格把控K8S集群中的操作权限,为普通用户生成特定的kubeconfig文件

文章目录 前言一、背景二、证书和证书签名请求(了解)1.证书签名请求2.请求签名流程3.Kubernetes 签名者4.证书过期时间限制字段 二、脚本示例2.检查集群上下文及csr3.切换集群上下文,检查权限4.普通用户操作 总结 前言 使用并维护过K8S的ops/sre都知道,kubeconfig对于k8s的访问…...

LLM推理和优化(1):基本概念介绍

一、LLM推理的核心过程&#xff1a;自回归生成 LLM&#xff08;如DeepSeek、ChatGPT、LLaMA系列等&#xff09;的推理本质是自回归生成&#xff1a;从初始输入&#xff08;如[CLS]或用户prompt&#xff09;开始&#xff0c;逐token预测下一个词&#xff0c;直到生成结束符&…...

Kubernetes教程(七)了解集群、标签、Pod和Deployment

了解集群、标签、Pod和Deployment 一、K8s资源对象二、K8s集群1. Master2. Node 三、Namespace&#xff08;命名空间&#xff09;四、Label&#xff08;标签&#xff09;五、Pod1. 共享网络命名空间2. 共享数据 六、工作负载1. 设置副本数2. 应用升级 结语 Kubernetes的知识真的…...

zerotier搭建免费moon服务器

&#x1f31f; 前言 ZeroTier是一种基于P2P的虚拟组网工具&#xff0c;通过搭建‌Moon服务器‌可大幅提升跨运营商/跨国节点的连接质量。本文使用云服务演示部署流程。 &#x1f4cb; 准备工作 ‌注册三丰云账号‌ ‌创建CentOS 8.5实例‌ &#xff08;这里选择centos8以上&a…...

【网络安全 | 漏洞挖掘】四链路账户接管

未经许可,不得转载。 文章目录 正文正文 这一过程始于身份验证流程中的 IDOR 漏洞。登录时,后台会发送多个请求。在 Burp Suite 分析这些请求时,我注意到一个值得关注的请求: 请求: POST /validateUser {"email": "victim@example.com" }响应: {…...

【最新】DeepSeek 实用集成工具有那些?

deepseek 系列github仓库地址 【主页】deepseek-aiDeepSeek-R1DeepSeek-V3DeepSeek-VL2【本文重点介绍】awesome-deepseek-integration 注意&#xff1a;以下内容来自awesome-deepseek-integration DeepSeek 实用集成&#xff08;awesome-deepseek-integration&#xff09; 将…...

linux 的免密切换用户PAM配置

/etc/pam.d/su是Linux系统中与用户切换&#xff08;su命令&#xff09;相关的PAM&#xff08;Pluggable Authentication Modules&#xff0c;可插拔认证模块&#xff09;配置文件。以下是对它的详细介绍&#xff1a; 简介 作用 PAM是一种用于管理系统认证的机制&#xff0c;…...

Flutter_学习记录_video_player、chewie 播放视频

1. video_player 视频播放 插件地址&#xff1a;https://pub.dev/packages/video_player 添加插件 导入头文件 import package:video_player/video_player.dart;Android配置&#xff08;iOS不用配置&#xff09; 修改这个文件&#xff1a;/android/app/src/main/AndroidMani…...

【MySQL】增删改查进阶

目录 一、数据库约束 约束类型 NULL约束&#xff1a;非空约束 UNIQUE&#xff1a;唯一约束 DEFAULT&#xff1a;默认值约束 PRIMARY KEY&#xff1a;主键约束 FOREIGN KEY&#xff1a;外键约束 二、表的设计 三、新增 四、查询 聚合查询 聚合函数 GROUP BY子句 HA…...

为什么会出现redis数据库?redis是什么?

什么是 Redis? 为什么要用 Redis? 下面我将从 Redis 出现的背景、Redis 的解决方案个来回答。 1、Redis 出现的背景 互联网的应用越来越多&#xff0c;例如社交网络、电商、实时服务发展的十分迅速&#xff0c;这就导致了传统技术栈&#xff08;如关系型数据库&#xff09;…...

静态时序分析:SDC约束命令set_ideal_latency详解

相关阅读 静态时序分析https://blog.csdn.net/weixin_45791458/category_12567571.html?spm1001.2014.3001.5482 当使用set_ideal_network命令将当前设计中的一组端口或引脚标记为理想网络源后&#xff0c;理想属性会沿着组合逻辑进行传播&#xff0c;理想网络中的线网和单元…...

达梦数据库查看字符集编码

select SF_GET_UNICODE_FLAG(); 返回 0 代表数据库字符集编码为 GB18030 1 代表数据库字符集编码为 UTF-8 2 代表数据库字符集编码为韩文字符集 EUC-KR...