Spring Boot 入门指南:从零开始构建 Java Web 应用
1. Spring Boot 简介Spring Boot 是 Spring 框架的一个子项目旨在简化 Spring 应用的初始搭建和开发过程。它通过自动配置、起步依赖和嵌入式服务器等特性让开发者能够快速创建独立运行、生产级别的 Spring 应用。2. Spring Boot 的核心特性自动配置根据项目依赖自动配置 Spring 应用减少大量 XML 配置。起步依赖提供一系列预配置的依赖包简化 Maven/Gradle 配置。嵌入式服务器内置 Tomcat、Jetty 或 Undertow无需部署 WAR 包。生产就绪提供健康检查、指标、外部化配置等生产级功能。无代码生成无需 XML 配置通过注解和约定实现配置。3. 快速开始创建第一个 Spring Boot 应用3.1 环境准备JDK 8 或更高版本Maven 3.3 或 Gradle 4.4IDE推荐 IntelliJ IDEA 或 Eclipse3.2 使用 Spring Initializr 创建项目访问 https://start.spring.io选择以下配置项目类型Maven语言JavaSpring Boot 版本选择最新稳定版依赖Spring Web3.3 项目结构src/main/java ├── com/example/demo │ ├── DemoApplication.java # 主启动类 │ └── controller │ └── HelloController.java # 控制器示例 src/main/resources ├── application.properties # 配置文件 └── static/ # 静态资源 └── templates/ # 模板文件3.4 编写第一个 REST 接口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, Spring Boot!; } }3.5 运行应用# 方式一使用 Maven mvn spring-boot:run 方式二直接运行主类 在 IDE 中运行 DemoApplication.java访问 http://localhost:8080/hello 即可看到返回结果。4. 常用配置与注解4.1 配置文件Spring Boot 支持多种配置文件格式application.properties键值对格式application.ymlYAML 格式层次更清晰# application.yml 示例 server: port: 8081 servlet: context-path: /api spring: datasource: url: jdbc:mysql://localhost:3306/testdb username: root password: 123456 driver-class-name: com.mysql.cj.jdbc.Driver4.2 核心注解SpringBootApplication主启动类注解包含 Configuration、EnableAutoConfiguration、ComponentScanRestController声明 RESTful 控制器RequestMapping/GetMapping/PostMapping请求映射Autowired自动注入依赖Configuration声明配置类Bean声明 Bean 对象5. 数据库集成5.1 集成 MySQL在pom.xml中添加依赖dependency groupIdmysql/groupId artifactIdmysql-connector-java/artifactId scoperuntime/scope /dependency dependency groupIdorg.springframework.boot/groupId artifactIdspring-boot-starter-data-jpa/artifactId /dependency5.2 创建实体类package com.example.demo.entity; import javax.persistence.*; Entity Table(name user) public class User { Id GeneratedValue(strategy GenerationType.IDENTITY) private Long id; Column(nullable false) private String username; Column(nullable false) private String email; // 省略 getter/setter 和构造方法 }5.3 创建 Repositorypackage com.example.demo.repository; import com.example.demo.entity.User; import org.springframework.data.jpa.repository.JpaRepository; public interface UserRepository extends JpaRepositoryUser, Long { User findByUsername(String username); }6. 项目打包与部署6.1 打包为可执行 JARmvn clean package生成的 JAR 文件位于target/目录可直接运行java -jar target/demo-0.0.1-SNAPSHOT.jar6.2 打包为 WAR传统部署修改主启动类SpringBootApplication public class DemoApplication extends SpringBootServletInitializer { Override protected SpringApplicationBuilder configure(SpringApplicationBuilder application) { return application.sources(DemoApplication.class); } public static void main(String[] args) { SpringApplication.run(DemoApplication.class, args); } }修改pom.xml打包方式packagingwar/packaging

相关新闻

PyTorch 深度学习笔记(四)张量运算与变形——数值计算与索引进阶

PyTorch 深度学习笔记(四)张量运算与变形——数值计算与索引进阶

系列导读:本系列共 6 篇,从 PyTorch 框架入门到实战案例,带你系统掌握深度学习开发。上一篇:PyTorch 张量基础——从零开始掌握 Tensor 一、张量数值计算 1.1 点乘运算(Hadamard 积) 点乘是元素级乘积&am…

2026/8/1 8:33:38 阅读更多 →
标准化开发框架:AI 数字人系统源码降低定制开发门槛

标准化开发框架:AI 数字人系统源码降低定制开发门槛

随着数字人应用行业持续扩张,不少企业有定制化改造需求,但普遍存在技术开发门槛高、开发周期长、改造成本不可控等痛点。市面上标准化成品数字人一体机优势在于即装即用,标准化交互流程能够满足基础展示、简单接待场景,项目落地周…

2026/8/1 8:33:35 阅读更多 →
团队5人被优化剩我一个,被剩下的那个用AI Agent扛下了所有需求

团队5人被优化剩我一个,被剩下的那个用AI Agent扛下了所有需求

张鹏永远记得那个周一的早晨。 会议室里坐着部门总监老赵和HRBP,没有寒暄,直接进入正题:“张鹏,考虑到目前的业务调整,你们组五个人要精简到一个人。” 张鹏坐在那里,手指无意识地攥紧了椅子扶手。 他是…

2026/8/1 8:32:30 阅读更多 →

最新新闻

【独家披露】金融级日志闭环系统白皮书(含训练数据标注规范、模型漂移监控阈值表)

【独家披露】金融级日志闭环系统白皮书(含训练数据标注规范、模型漂移监控阈值表)

更多请点击: https://codechina.net 第一章:金融级日志闭环系统的架构演进与核心定义 金融级日志闭环系统并非简单地将日志采集、传输与存储串联,而是以“可追溯、可验证、不可篡改、强一致”为设计原点,在高并发、低延迟、强监管…

2026/8/1 11:59:13 阅读更多 →
3个架构革命:解密League Akari如何重构Electron桌面应用开发范式

3个架构革命:解密League Akari如何重构Electron桌面应用开发范式

3个架构革命:解密League Akari如何重构Electron桌面应用开发范式 【免费下载链接】League-Toolkit An all-in-one toolkit for LeagueClient. Gathering power 🚀. 项目地址: https://gitcode.com/gh_mirrors/le/League-Toolkit League Akari是一…

2026/8/1 11:59:13 阅读更多 →
Cocos2d-x塔防游戏开发实战:从架构设计到性能优化

Cocos2d-x塔防游戏开发实战:从架构设计到性能优化

1. 项目概述与核心思路拆解“塔防”这个品类,在游戏开发领域一直是个常青树。它不像开放世界那样需要庞大的美术资源,也不像MMO那样对服务器架构有极高要求,但它的玩法设计、数值平衡和关卡节奏,却非常考验开发者的基本功。这次我…

2026/8/1 11:59:13 阅读更多 →
微服务架构下AI服务异步集成方案:解耦与性能优化实战

微服务架构下AI服务异步集成方案:解耦与性能优化实战

在微服务架构和AI能力集成日益普及的今天,很多团队在尝试将独立的AI服务(AiService)以工具化(Tool)的方式嵌入现有业务系统时,会遇到架构不匹配、依赖复杂、性能不稳定等实际问题。直接硬集成往往导致系统臃…

2026/8/1 11:59:13 阅读更多 →
51单片机电子钟项目实战:LCD1602显示、整点报时与闹钟功能

51单片机电子钟项目实战:LCD1602显示、整点报时与闹钟功能

这次我们来做一个完整的51单片机电子钟项目,基于STC89C52单片机,使用LCD1602显示屏,实现时间显示、整点报时和闹钟功能。这个项目非常适合单片机初学者作为课程设计或毕业设计,硬件成本低,代码逻辑清晰,能够…

2026/8/1 11:59:13 阅读更多 →
Visual C++ Redistributable AIO:3分钟解决Windows应用程序启动失败的终极方案

Visual C++ Redistributable AIO:3分钟解决Windows应用程序启动失败的终极方案

Visual C Redistributable AIO:3分钟解决Windows应用程序启动失败的终极方案 【免费下载链接】vcredist AIO Repack for latest Microsoft Visual C Redistributable Runtimes 项目地址: https://gitcode.com/gh_mirrors/vc/vcredist 你是否曾经遇到过这样的…

2026/8/1 11:58:13 阅读更多 →

日新闻

免费解锁百度网盘SVIP加速:macOS用户必备的下载提速终极指南

免费解锁百度网盘SVIP加速:macOS用户必备的下载提速终极指南

免费解锁百度网盘SVIP加速:macOS用户必备的下载提速终极指南 【免费下载链接】BaiduNetdiskPlugin-macOS For macOS.百度网盘 破解SVIP、下载速度限制~ 项目地址: https://gitcode.com/gh_mirrors/ba/BaiduNetdiskPlugin-macOS 还在为百度网盘macOS版的龟速下…

2026/8/1 0:00:48 阅读更多 →
终极ncmdump指南:3分钟实现网易云NCM音乐解密与格式转换

终极ncmdump指南:3分钟实现网易云NCM音乐解密与格式转换

终极ncmdump指南:3分钟实现网易云NCM音乐解密与格式转换 【免费下载链接】ncmdump 项目地址: https://gitcode.com/gh_mirrors/ncmd/ncmdump 还在为网易云音乐下载的NCM格式文件无法在其他播放器播放而烦恼吗?ncmdump解密工具帮你轻松解决这个困…

2026/8/1 0:00:48 阅读更多 →
HarmonyOS 应用开发《掌上英语》第81篇: 智能体卡片:为英语学习 App 打造桌面级学习助手

HarmonyOS 应用开发《掌上英语》第81篇: 智能体卡片:为英语学习 App 打造桌面级学习助手

AgentCard 智能体卡片:为英语学习 App 打造桌面级学习助手适用平台:HarmonyOS 7.0 (API 26 Beta)一、引言 HarmonyOS 7.0(API 26 Beta)新增了 AgentCard 智能体卡片能力,这是继 HMAF(鸿蒙智能体框架&#x…

2026/8/1 0:00:48 阅读更多 →

周新闻

深度学习道路桥梁裂缝检测系统 道路桥梁裂缝检测数据集 道路桥梁病害识别检测数据集

深度学习道路桥梁裂缝检测系统 道路桥梁裂缝检测数据集 道路桥梁病害识别检测数据集

深度学习道路桥梁裂缝检测系统 数据集6000张 完整源码已标注数据集训练好的模型环境配置教程程序运行说明文档,可以直接使用!系统支持图片、视频、摄像头等多种方式检测裂缝,功能强大实用。 1数据集6000张 8各类别

2026/7/31 1:03:03 阅读更多 →
深度学习YOLO模型如何训练 PUBG 绝地求生目标检测数据集

深度学习YOLO模型如何训练 PUBG 绝地求生目标检测数据集

pubg数据集 精选原图1.42万数据 1.49万标签 无任何重复、算法增强或冗余图像! pubg绝地求生目标检测数据集 1分类:e_body,14905个标签,txt格式 共计14244张图,99%为640*640尺寸图像 适合yolo目标检测、AI训练关键词&am…

2026/8/1 5:19:34 阅读更多 →
Apex英雄目标检测数据集 深度学习框架YOLO如何训练APEX数据集

Apex英雄目标检测数据集 深度学习框架YOLO如何训练APEX数据集

Apex检测数据集数据集详情检测类别: allies enemy tag图片总量:7247张训练集:5139张验证集:1425张测试集:683张标注状态:全部已标注,即拿即用数据格式:支持YOLO格式及其他格式&#…

2026/8/1 10:33:33 阅读更多 →

月新闻

免费解锁百度网盘SVIP加速:macOS用户必备的下载提速终极指南

免费解锁百度网盘SVIP加速:macOS用户必备的下载提速终极指南

免费解锁百度网盘SVIP加速:macOS用户必备的下载提速终极指南 【免费下载链接】BaiduNetdiskPlugin-macOS For macOS.百度网盘 破解SVIP、下载速度限制~ 项目地址: https://gitcode.com/gh_mirrors/ba/BaiduNetdiskPlugin-macOS 还在为百度网盘macOS版的龟速下…

2026/8/1 0:00:48 阅读更多 →
终极ncmdump指南:3分钟实现网易云NCM音乐解密与格式转换

终极ncmdump指南:3分钟实现网易云NCM音乐解密与格式转换

终极ncmdump指南:3分钟实现网易云NCM音乐解密与格式转换 【免费下载链接】ncmdump 项目地址: https://gitcode.com/gh_mirrors/ncmd/ncmdump 还在为网易云音乐下载的NCM格式文件无法在其他播放器播放而烦恼吗?ncmdump解密工具帮你轻松解决这个困…

2026/8/1 0:00:48 阅读更多 →
HarmonyOS 应用开发《掌上英语》第81篇: 智能体卡片:为英语学习 App 打造桌面级学习助手

HarmonyOS 应用开发《掌上英语》第81篇: 智能体卡片:为英语学习 App 打造桌面级学习助手

AgentCard 智能体卡片:为英语学习 App 打造桌面级学习助手适用平台:HarmonyOS 7.0 (API 26 Beta)一、引言 HarmonyOS 7.0(API 26 Beta)新增了 AgentCard 智能体卡片能力,这是继 HMAF(鸿蒙智能体框架&#x…

2026/8/1 0:00:48 阅读更多 →