尧图网络 高端网站定制 · 原创设计
免费咨询热线
400-888-6620
免费获取方案
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
RELATED

相关推荐

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

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

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

📅 2026/9/20 15:33:27
标准化开发框架:AI 数字人系统源码降低定制开发门槛

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

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

📅 2026/9/10 22:04:35
C++11 Generator模式:协程雏形与惰性求值数据流处理

C++11 Generator模式:协程雏形与惰性求值数据流处理

1. 项目概述与核心价值最近在整理自己的C工具箱时,又翻出了那个让我在早期C11项目中省下大量重复劳动的老伙计——一个名为“generator”的开源项目。它不是指某个特定的、大名鼎鼎的库,而是一类设计模式的典型实现,其核心思想是利用C11引入的…

📅 2026/9/16 7:15:42
MORE NEWS

更多资讯

📰

企业架构设计实战:从业务蓝图到落地的华为方法论

简介:一份 105 页的 PPT 系统讲解华为企业架构设计方法与实践案例,面向企业架构师、数字化转型规划人员及 IT 治理团队,尤其适合正在推进架构蓝图落地的中大型组织参考。内容以企业架构现状分析为起点,完整覆盖业务架构、数据架构…

📰

YooAsset资源治理系统:Manifest契约与语义化版本控制

1. 这不是AssetBundle封装工具,而是一套运行时资源治理操作系统YooAsset这个名字,第一次在Unity项目组晨会上被提起时,我下意识把它归类为“又一个AssetBundle封装库”——毕竟市面上叫XXAsset、XXResourceManager的插件,三年前我…

📰

端到端交付管理:从需求基线到验收标准,破解交付难题

简介:文档聚焦华为全流程端到端交付管理体系,面向企业中高层管理者、流程优化与项目交付人员,系统解答了客户选择供应商时必须关注的五大问题:产品稳定性、核心技术领先、成本竞争力、客户投资保护以及及时有效的售后服务。文档进…

📰

RIOT-OS 板级支持解析:Ebyte E180-ZG120B-TB 测试板(EFR32MG1B / EFM32 Mighty Gecko 1B)

RIOT-OS 板级支持解析:Ebyte E180-ZG120B-TB 测试板(EFR32MG1B / EFM32 Mighty Gecko 1B) 【免费下载链接】RIOT RIOT - The friendly OS for IoT 项目地址: https://gitcode.com/GitHub_Trending/riot/RIOT 本篇技术指南围绕 RIOT 仓…

📰

Arduino UNO超声波避障小车:接线、决策状态机与实验数据

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

📰

Switch游戏格式转换全攻略:NSCB实现XCI、NSP与NSZ互转

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

TODAY

今日更新

THIS WEEK

本周精选

THIS MONTH

本月热门

读完文章,想聊聊您的网站?

告诉我们您的行业与需求,资深顾问一对一梳理方案与报价,全程免费。

📞 💬