Spring Boot入门指南

devtools/2024/10/10 15:47:01/

目录

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/devtools/117987.html

相关文章

腾讯云linux服务器修改root用户登录密码操作步骤

https://cloud.tencent.com/loginhttps://cloud.tencent.com/login 点击上面链接 登录腾讯云控制台 在打开页面 确认服务器后 点 登录 按钮 操作命令&#xff1a; sudo passwd root 密码设置不小于16位 字母大小写数字加特殊符号组合 修改成功后关闭登录窗口即可。

Python编码系列—Python模板方法模式:定义算法骨架,让子类实现细节

&#x1f31f;&#x1f31f; 欢迎来到我的技术小筑&#xff0c;一个专为技术探索者打造的交流空间。在这里&#xff0c;我们不仅分享代码的智慧&#xff0c;还探讨技术的深度与广度。无论您是资深开发者还是技术新手&#xff0c;这里都有一片属于您的天空。让我们在知识的海洋中…

什么是Node.js?

为什么JavaScript可以在浏览器中被执行&#xff1f; 在浏览器中我们加载了一些待执行JS代码&#xff0c;这些字符串要当中一个代码去执行&#xff0c;是因为浏览器中有JavaScript的解析引擎&#xff0c;它的存在我们的代码才能被执行。 不同的浏览器使用不同的javaScript解析引…

CSS 背景属性概览:颜色、图像、位置、组合及透明

目录 非 VIP 用户可前往公众号回复“css”进行免费阅读 background - color background - image background - repeat background - position background - attachment background组合 背景透明 非 VIP 用户可前往公众号回复“css”进行免费阅读 background - color …

一文讲明白初学者怎么入门大语言模型(LLM)?零基础入门到精通,收藏这篇就够了

关于如何入门LLM&#xff0c;大多数回答都提到了调用API、训练微调和应用。但是大模型更新迭代太快&#xff0c;这个月发布的大模型打榜成功&#xff0c;仅仅过了一个月就被其他模型超越。训练微调也已经不是难事&#xff0c;有大量开源的微调框架&#xff08;llamafactory、fi…

HarmonyOS鸿蒙开发实战( Beta5.0)Web组件预览PDF文件实现案例

鸿蒙HarmonyOS开发实战往期必看文章&#xff1a;&#xff08;持续更新......&#xff09; HarmonyOS NEXT应用开发性能实践总结&#xff08;持续更新......&#xff09; HarmonyOS NEXT应用开发案例实践总结合集&#xff08;持续更新......&#xff09; 一分钟了解”纯血版&…

【openwrt-21.02】VPN Passthrough系列之L2TP Passthrough实现

Openwrt版本 NAME="OpenWrt" VERSION="21.02-SNAPSHOT" ID="openwrt" ID_LIKE="lede openwrt" PRETTY_NAME="OpenWrt 21.02-SNAPSHOT" VERSION_ID="21.02-snapshot" HOME_URL="https://openwrt.org/" …

系统架构设计师 - 案例特训专题 - 数据库设计篇

案例特训专题 - 数据库设计篇 数据库设计篇规范化与反规范化 ★★★规范化 - 范式反规范化 数据库索引数据库视图数据库分区分表分库分区分区的常见方式 分表分库 分布式数据库 ★★★NoSQL ★★★其他数据库扩展知识 ★★★数据库性能优化集中式数据库优化分布式数据库优化 大…