Spring Boot入门指南

embedded/2025/2/16 1:57:05/

目录

1. 什么是Spring Boot?

2. Spring Boot的核心特性

3. 为什么选择Spring Boot?

4. Spring Boot项目搭建

4.1 使用Spring Initializr快速生成项目

4.2 使用Maven构建Spring Boot项目

5. 构建一个简单的Spring Boot Web应用

5.1 控制器(Controller)

5.2 启动嵌入式服务器

6. 配置Spring Boot

6.1 修改默认端口

6.2 数据库连接配置

7. 常见的Spring Boot依赖

8. Spring Boot的自动化测试

9. 总结


1. 什么是Spring Boot?

Spring Boot是基于Spring框架的简化开发工具,旨在帮助开发人员快速构建独立、生产级的Spring应用程序。它通过简化配置、自动化装配(Auto-Configuration)和嵌入式服务器等特性,减少了传统Spring应用的配置复杂性,提供了一种“开箱即用”的开发体验。

2. Spring Boot的核心特性
  • 自动配置:Spring Boot自动根据依赖的类和库配置Spring应用,大大减少了手动编写XML或Java配置文件的需求。
  • 嵌入式服务器:Spring Boot集成了Tomcat、Jetty等嵌入式Web服务器,开发人员可以无需外部服务器即可启动Web应用。
  • 无代码生成和XML配置:Spring Boot应用尽量避免复杂的XML配置或代码生成,增强了代码的可读性和可维护性。
  • 开发者工具(DevTools):Spring Boot提供了一系列开发工具,用于增强开发体验,比如自动重启、LiveReload等功能。
3. 为什么选择Spring Boot?

Spring Boot简化了企业级应用开发,特别适合微服务架构。在传统Spring框架中,开发人员需要手动配置各个组件,如数据源、事务管理、视图解析器等,而Spring Boot能自动识别并配置大多数组件。

  • 快速入门:无需复杂的设置,开发者可以用最少的步骤搭建基本的Web应用。
  • 微服务架构:Spring Boot非常适合搭建微服务,支持服务注册与发现、负载均衡、分布式配置管理等微服务相关的需求。
  • 集成开源库:Spring Boot与Spring生态系统无缝集成,开发者可以轻松使用Spring Security、Spring Data等模块。
4. Spring Boot项目搭建
4.1 使用Spring Initializr快速生成项目
  1. 访问 Spring Initializr。
  2. 选择项目构建工具(Maven或Gradle),设置Group和Artifact信息。
  3. 选择依赖项,比如Spring Web(用于构建Web应用),Spring Data JPA(用于数据持久化)等。
  4. 生成项目并下载压缩包,解压后可以导入IDE进行开发。
4.2 使用Maven构建Spring Boot项目
  1. 安装Maven,并确保JDK版本为8或以上。
  2. 创建一个基本的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>demo</artifactId><version>1.0-SNAPSHOT</version><parent><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-parent</artifactId><version>2.5.4</version><relativePath/> <!-- lookup parent from repository --></parent><dependencies><!-- Spring Boot Web Starter --><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-web</artifactId></dependency></dependencies><build><plugins><plugin><groupId>org.springframework.boot</groupId><artifactId>spring-boot-maven-plugin</artifactId></plugin></plugins></build>
</project>

  1. 在项目的主类中编写main方法启动应用程序:
 
package com.example.demo;import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;@SpringBootApplication
public class DemoApplication {public static void main(String[] args) {SpringApplication.run(DemoApplication.class, args);}}
5. 构建一个简单的Spring Boot Web应用
5.1 控制器(Controller)

Spring Boot通过控制器类处理HTTP请求。创建一个简单的RESTful控制器来处理基本的请求:

 
package com.example.demo;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!";}
}

  • @RestController:用于定义RESTful风格的控制器,返回的内容将直接作为响应的Body内容。
  • @GetMapping:指定该方法用于处理GET请求。
5.2 启动嵌入式服务器

执行DemoApplication中的main方法,Spring Boot将自动启动Tomcat服务器,并监听8080端口。你可以通过访问http://localhost:8080/hello来查看响应结果。

6. 配置Spring Boot

Spring Boot使用application.propertiesapplication.yml文件来进行配置。常见配置项包括端口号、数据库连接等。

6.1 修改默认端口

默认情况下,Spring Boot应用监听8080端口。你可以通过在application.properties中添加以下配置修改端口号:

 
server.port=9090

6.2 数据库连接配置

对于使用Spring Data JPA的应用,可以通过application.properties进行数据库连接配置:

 
server.port=9090

7. 常见的Spring Boot依赖
  • spring-boot-starter-web:用于开发Web应用,包括RESTful服务。
  • spring-boot-starter-data-jpa:用于持久化层,结合Hibernate和JPA规范。
  • spring-boot-starter-security:用于集成Spring Security,提供认证与授权功能。
  • spring-boot-starter-thymeleaf:用于与Thymeleaf模板引擎集成,构建动态Web页面。
8. Spring Boot的自动化测试

Spring Boot提供了丰富的测试支持,通过spring-boot-starter-test可以轻松编写单元测试和集成测试。

 
spring.datasource.url=jdbc:mysql://localhost:3306/mydb
spring.datasource.username=root
spring.datasource.password=root
spring.jpa.hibernate.ddl-auto=update

  • @SpringBootTest:加载Spring应用上下文进行测试。
9. 总结

Spring Boot通过自动配置、嵌入式服务器和简化的项目结构,让Java开发者能够快速构建企业级应用程序。它非常适合微服务架构,并支持与Spring生态系统的无缝集成。无论是从快速入门还是后续的深入开发,Spring Boot都提供了良好的支持,极大地提高了开发效率。

这篇入门指南只是Spring Boot的冰山一角,随着项目复杂度增加,Spring Boot的高级特性(如自定义配置、Actuator、Spring Cloud等)将进一步展示它的强大功能。


http://www.ppmy.cn/embedded/119058.html

相关文章

【2023工业3D异常检测文献】PointCore: 基于局部-全局特征的高效无监督点云异常检测器

PointCore: Efficient Unsupervised Point Cloud Anomaly Detector Using Local-Global Features 1、Background 当前的点云异常检测器可以分为两类&#xff1a; &#xff08;1&#xff09;基于重建的方法&#xff0c;通过自动编码器重建输入点云数据&#xff0c;并通过比较原…

centos离线安装nvm

​​​​​​​ 在一个可以访问互联网的机器上&#xff0c;访问NVM的GitHub页面&#xff1a;GitHub - nvm-sh/nvm: Node Version Manager - POSIX-compliant bash script to manage multiple active node.js versions。 下载最新版本的NVM脚本。通常&#xff0c;你可以点击“…

全新一区PID搜索算法+TCN-LSTM+注意力机制!PSA-TCN-LSTM-Attention多变量时间序列预测(Matlab)

全新一区PID搜索算法TCN-LSTM注意力机制&#xff01;PSA-TCN-LSTM-Attention多变量时间序列预测&#xff08;Matlab&#xff09; 目录 全新一区PID搜索算法TCN-LSTM注意力机制&#xff01;PSA-TCN-LSTM-Attention多变量时间序列预测&#xff08;Matlab&#xff09;效果一览基本…

13年408计算机考研-计算机网络

第一题&#xff1a; 解析&#xff1a;OSI体系结构 OSI参考模型&#xff0c;由下至上依次是&#xff1a;物理层-数据链路层-网络层-运输层-会话层-表示层-应用层。 A.对话管理显然属于会话层&#xff0c; B.数据格式转换&#xff0c;是表示层要解决的问题&#xff0c;很显然答案…

大模型微调方法(非常详细),收藏这一篇就够了!

引言 众所周知&#xff0c;大语言模型(LLM)正在飞速发展&#xff0c;各行业都有了自己的大模型。其中&#xff0c;大模型微调技术在此过程中起到了非常关键的作用&#xff0c;它提升了模型的生成效率和适应性&#xff0c;使其能够在多样化的应用场景中发挥更大的价值。 那么&…

Spring注解开发

优点&#xff1a;简化代码 创建新项目一定要配置maven 注解 过程 图 1.创建模块导入坐标 新建模块 选择路径 点击确定生成 导入坐标 <!-- 导入坐标--><dependencies><dependency><groupId>org.springframework</groupId><artifactId>s…

数据结构:树、森林

二叉树与树结构差异 树&#xff08;一般树&#xff09;&#xff1a;树是一种数据结构&#xff0c;其中每个节点可以有任意数量的子节点&#xff08;除了根节点和叶子节点外&#xff09;。因此&#xff0c;一般树的节点在数组中的表示并不是那么直接&#xff0c;特别是当树不是完…

【Java+GDAL】读取gdb新增、删除字段

文章目录 前言一、GDAL和Java版本二、代码实现1.引入gdal环境2.读取gdb图层新增、删除字段3.测试使用 总结 前言 之前写了一篇与gdb相关的文章。 【JAVAGDAL】读取gdb数据图层的字段信息 今天来看看怎么新增和删除字段&#xff0c;思路与之前写过的shp新增、删除字段是相似的&…