Spring Boot 创建项目详细介绍

简介: 如何创建一个 Spring Boot 项目,以及自动生成的目录文件作用。

上篇文章简单介绍了 Spring Boot(Spring Boot 详细简介!),还没看到的读者,建议看看。

下面,介绍一下如何创建一个 Spring Boot 项目,以及自动生成的目录文件作用。

Maven 构建项目

访问 http://start.spring.io,选择

  • 构建 Maven 项目、
  • Java 语言、
  • Spring Boot 版本(发文之前的稳定版为 2.4.1)
  • Group:公司英文简写
  • Artifact:项目唯一标识
  • Name:项目名称,建议使用英文
  • Description:项目描述
  • Package name:包名,一般为公司英文简写,和Group类似
  • Packaging:打包方式,目前大部分都是 Jar 包
  • Java:Java 版本,我这里选择 8

最后点击底部的【GENERATE】,这时就会自动下载压缩包。

接着使用 Idea 导入选择已解压的文件目录即可

Idea 构建项目

这里以 IntelliJ IDEA 为例。

  1. 依次选择 File -> New -> Project,在弹窗框中,选择左侧的 Spring Initializr
  2. 填写上面类似的内容,然后点击 Next
  3. 最后确定无误后,点击 Finish即可

image-20210112221937619

项目结构介绍

image-20210112222141802

如上图所示,Spring Boot 项目结构如下

  • src/main/java 主程序入口和项目开发
  • src/resources 项目配置文件
  • src/test/java 测试程序

此外,建议在包名(我的是com.geshanzsq)下分别新建 controller、domain、service、mapper,这些分别表示

  • controller:页面访问控制,也就是 api,
  • domain:主要用于实体类和数据访问层(mapper)
  • service:业务处理
  • SpringBootProjctApplication.java:主程序,创建项目时会自动创建,一般为项目名称+Application.java

最后,启动 SpringBootProjctApplication 主程序。这样就完成 Java 项目配置了。

注:controller、domain、service、mapper 包,需要放在 SpringBootProjctApplication.java 主程序同包名或放在主程序下,否则主程序会扫描不到,导致报错。

Web 模块

在配置之前,先说明一下 pom.xml 文件。此文件包含 Spring Boot 版本、项目基本信息、第三方 Jar 包 Maven 引用。

Web 模块.png

所以,我们引用 Web 模块时,需要在 pom.xml 的 dependencies 添加以下代码

<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-web</artifactId>
</dependency>

其中,pom.xml 有两个默认的 模块

  • spring-boot-starter:Spring Boot的核心启动器,包含了自动配置、日志和YAML。
  • spring-boot-starter-test:支持常规的测试依赖,包括JUnit、Hamcrest、Mockito以及spring-test模块。

编写 Controller api 内容

在 controller 包下新建 TestController.java,内容如下

@RestController
public class TestController {
   
    @GetMapping("/test")
    public String test() {
   
        return "你好,我是 Spring Boot 项目测试!";
    }
}

这时,我们启动主程序,在浏览器输入localhost:8080/test,就可以看到返回的结果。是不是很简单,只需要很少的配置,就可以创建一个 Java Web 项目了。

image-20210112225157953

resouces application 配置

resources 下有个 application.properties文件,此文件是配置项目各种信息。比如:端口号、服务名称、数据库配置、redis配置等。端口号默认为 8080,所以上面访问时的端口为 8080。

由于 yml 配置比较美观,我一般都是把 application.properties 改为 application.yml。

resouces application 配置.png

总结

使用 Spring Boot 可以快速简单的构建项目,无需繁琐的配置。我们不用关心各框架直接的兼容,当我们想用某个依赖时,只需简单的引入和配置就可以了。非常方便我们构建项目,适用于各种单体和微服务项目!

实践才能检验是否已经了解和使用,赶紧去试试吧!下次给大家讲解如何配置数据库、Mybatis 等。

相关文章
|
19天前
|
前端开发 Java 数据库连接
Spring Boot 详细简介!
Spring Boot 是什么?能干啥?
214 0
Spring Boot 详细简介!
|
18天前
|
人工智能 JavaScript API
DeepSeek Harness 实测:大模型为什么还需要 Harness?
本文深度评测DeepSeek Harness——国产AI编程Agent新工具。作者实测三大任务(幸存者游戏、俄罗斯方块、梁子滑动变阻器),对比GPT/Codex,分析完成时间、Token消耗、费用与效果,并详解其“模型为脑、Harness为手脚”的执行闭环机制及蓬勃发展的插件生态(文件引用、多模态、数据库等)。
349 7
DeepSeek Harness 实测:大模型为什么还需要 Harness?
|
19天前
|
关系型数据库 MySQL Linux
Linux 安装 MySQL 8 数据库(图文详细教程)
本教程手把手教你如何在 Linux 安装 MySQL 数据库。图文详细教程!
102 3
Linux 安装 MySQL 8 数据库(图文详细教程)
|
19天前
|
SQL 缓存 Java
Mybatis 技术内幕:执行一个Sql命令的完整流程
如果不是使用Mapper接口调用,而是直接调用SqlSession的方法,那么,流程图从SqlSession的地方开始即可,后续都是一样的。
Mybatis 技术内幕:执行一个Sql命令的完整流程
|
23天前
|
弹性计算 编解码 小程序
阿里云轻量应用服务器适合干什么?个人博客、企业官网或者小程序都可以吗?
阿里云轻量应用服务器专为轻量级建站与开发场景设计,支持快速搭建个人博客、企业官网、小程序后端、论坛、电商站及学习测试环境。提供应用镜像一键部署,操作简单、成本低廉,适合中小规模业务。高负载场景建议选用ECS。阿里云轻量应用服务器官网:https://t.aliyun.com/U/dwftch
阿里云轻量应用服务器适合干什么?个人博客、企业官网或者小程序都可以吗?
|
19天前
|
数据采集 监控 供应链
1688 商品详情驱动的选品、竞品分析与采购实战指南
1688是“中国制造”的数字入口,汇聚60万源头工厂。本文详解如何通过API接口实现数据化选品:解析批发价阶梯、库存、供应商资质等核心字段;构建四层选品漏斗;以图搜款溯源跨境爆款;建立采购评分卡与动态监控模型,助力高效决策。(239字)
|
15天前
|
算法 数据可视化 安全
24GHz毫米波雷达模组工业室内定位实战评估:精度、场景与选型
24GHz毫米波雷达模组在工业室内定位中交出了"厘米级精度+强环境鲁棒性+合理成本"的工程答卷。亿佰特E54系列毫米波雷达模组,配合公司完整的LoRa模块、蓝牙模块、WiFi模块、4G DTU、远程IO模块、嵌入式核心板等全链路产品矩阵,为工业物联网室内定位场景提供了可快速落地的解决方案。
|
19天前
|
编解码 人工智能 监控
猫行为目标检测数据集:6类别、6,000张图像 | 目标检测
本数据集含6000张高清标注图像,涵盖进食、玩耍、休憩、端坐、伸展、打哈欠6类猫行为,YOLO格式,经三轮质检,适配YOLOv5/v8/v11。支持智能宠物硬件开发与健康监测,百度网盘免费获取。
75 3
|
20天前
|
缓存 安全 网络协议
AiWCLOUD 免备案CDN,过移动屏蔽,不限内容在边缘协议优化的底层逻辑下
本文深度解析AiWCLOUD免备案CDN技术内核:以Anycast+GSLB智能调度、QUIC/BBR跨境传输优化、分层缓存架构及边缘WAF+eBPF安全防护四大支柱,揭示其超越“免备案”的真实竞争力,助力架构师穿透营销话术,实现高效、合规、安全的出海业务部署。(239字)
63 3
|
23天前
|
JSON 监控 前端开发
RTX4090适配ChatGLM3-6B本地私有化部署:前后端分离构建对话服务实战项目19.7
本项目基于ChatGLM3-6B模型,使用Transformers+FastAPI构建本地大模型服务,支持RTX4090显卡(FP16加载仅占~10GB显存)。提供SSE流式/普通两种推理模式,兼容OpenAI标准接口;内置实时监控面板,展示显存占用、TTFT、Token速度、排队数等核心指标;前端美观易用,完全离线、数据不出本地,开箱即用。
253 6

热门文章

最新文章