首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >初识 Spring Boot-Spring Boot教程深入浅出系列

初识 Spring Boot-Spring Boot教程深入浅出系列

作者头像
jack.yang
发布于 2025-04-05 11:11:30
发布于 2025-04-05 11:11:30
421016
代码可运行
举报
运行总次数:16
代码可运行
Spring Boot 是一个基于 Java 的开源框架,用于创建微服务。它由 Pivotal Team 开发,用于构建独立和生产就绪的 Spring 应用程序。本章将向您介绍 Spring Boot 并熟悉其基本概念。

什么是微服务?

微服务是一种允许开发人员独立开发和部署服务的架构。每个运行的服务都有自己的流程,这就实现了支持业务应用的轻量级模型。

优点

微服务为其开发人员提供以下优势 -

  • 轻松部署
  • 简单的可扩展性
  • 容器兼容
  • 最低配置
  • 更少的生产时间

什么是 Spring Boot?

Spring BootJava 开发人员提供了一个很好的平台来开发一个可以运行的独立和生产级的 spring 应用程序。您可以从最少的配置开始,而无需整个 Spring 配置设置。

优点

Spring Boot 为其开发人员提供以下优势 -

  • 易于理解和开发Spring应用
  • 提高生产力
  • 缩短开发时间

目标

Spring Boot 的设计目标如下 -

  • 避免 Spring 中复杂的 XML 配置
  • 以更简单的方式开发生产就绪的 Spring 应用程序
  • 减少开发时间并独立运行应用程序
  • 提供更简单的应用程序入门方法

为什么选择 Spring Boot?

您可以选择 Spring Boot,因为它提供了这里给出的特性和好处 -

  • 它提供了一种灵活的方式来配置 Java Bean、XML 配置和数据库事务。
  • 它提供了强大的批处理功能并管理 REST 端点。
  • 在 Spring Boot 中,一切都是自动配置的;无需手动配置。
  • 它提供基于注释的Spring应用程序
  • 简化依赖管理
  • 它包括嵌入式 Servlet 容器

它是如何工作的?

Spring Boot 会根据您添加到项目中的依赖项使用@EnableAutoConfiguration注释自动配置您的应用程序。例如,如果 MySQL 数据库在您的类路径上,但您尚未配置任何数据库连接,那么 Spring Boot 会自动配置一个内存数据库。

spring boot应用的入口点是包含@SpringBootApplication注解和main方法的类。

Spring Boot 使用@ComponentScan注解自动扫描项目中包含的所有组件。

Spring Boot 启动器

处理依赖管理对于大型项目来说是一项艰巨的任务。Spring Boot 通过为开发人员提供一组依赖项来解决这个问题。

例如,如果您想使用 Spring 和 JPA 进行数据库访问,则在您的项目中包含spring-boot-starter-data-jpa依赖项就足够了。

请注意,所有 Spring Boot starter 都遵循相同的命名模式spring-boot-starter- *,其中 * 表示它是应用程序的一种类型。

例子

查看下面解释的以下 Spring Boot 启动器以更好地理解 -

Spring Boot Starter Actuator 依赖项用于监视和管理您的应用程序。它的代码如下所示 -

代码语言:javascript
代码运行次数:9
运行
AI代码解释
复制
<dependency>
   <groupId>org.springframework.boot</groupId>
   <artifactId>spring-boot-starter-actuator</artifactId>
</dependency>

Spring Boot Starter Security 依赖项用于 Spring Security。它的代码如下所示 -

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
<dependency>
   <groupId>org.springframework.boot</groupId>
   <artifactId>spring-boot-starter-security</artifactId>
</dependency>

Spring Boot Starter web 依赖用于编写一个 Rest Endpoints。它的代码如下所示 -

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
<dependency>
   <groupId>org.springframework.boot</groupId>
   <artifactId>spring-boot-starter-web</artifactId>
</dependency>

Spring Boot Starter Thyme Leaf 依赖项用于创建 Web 应用程序。它的代码如下所示 -

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
<dependency>
   <groupId>org.springframework.boot</groupId>
   <artifactId>spring-boot-starter-thymeleaf</artifactId>
</dependency>

Spring Boot Starter Test 依赖用于编写测试用例。它的代码如下所示 -

代码语言:javascript
代码运行次数:4
运行
AI代码解释
复制
<dependency>
   <groupId>org.springframework.boot</groupId>
   <artifactId>spring-boot-starter-test</artifactId>
</dependency>

自动配置

Spring Boot Auto Configuration 根据您在项目中添加的 JAR 依赖项自动配置您的 Spring 应用程序。例如,如果 MySQL 数据库在您的类路径上,但您还没有配置任何数据库连接,那么 Spring Boot 会自动配置一个内存数据库。

为此,您需要在主类文件中添加@EnableAutoConfiguration注解或@SpringBootApplication注解。然后,您的 Spring Boot 应用程序将被自动配置。

观察以下代码以更好地理解 -

代码语言:javascript
代码运行次数:2
运行
AI代码解释
复制
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.EnableAutoConfiguration;

@EnableAutoConfiguration
public class DemoApplication {
   public static void main(String[] args) {
      SpringApplication.run(DemoApplication.class, args);
   }
}

Spring Boot 应用程序

Spring Boot Application 的入口点是包含@SpringBootApplication注解的类。这个类应该有运行 Spring Boot 应用程序的 main 方法。@SpringBootApplication注解包括自动配置、组件扫描和 Spring Boot 配置。

如果在类中添加了@SpringBootApplication注解,则不需要添加@EnableAutoConfiguration、@ ComponentScan和@SpringBootConfiguration注解。该@SpringBootApplication注释包括所有其他的注解。

观察以下代码以更好地理解 -

代码语言:javascript
代码运行次数:1
运行
AI代码解释
复制
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);
   }
}

组件扫描

Spring Boot 应用程序在应用程序初始化时扫描所有 bean 和包声明。您需要为您的类文件添加@ComponentScan注释以扫描您在项目中添加的组件。

观察以下代码以更好地理解 -

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
import org.springframework.boot.SpringApplication;
import org.springframework.context.annotation.ComponentScan;

@ComponentScan
public class DemoApplication {
   public static void main(String[] args) {
      SpringApplication.run(DemoApplication.class, args);
   }
}
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2021-08-20,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
深入Spring Boot (十三):整合Kafka详解
Kafka是一种高吞吐量的分布式流处理平台,它具有高可用、高吞吐量、速度快、易扩展等特性。本篇将介绍如何使用Spring Boot整合Kafka及使用Kafka实现简单的消息发送和消费,主要包括以下3部分内容:
JavaQ
2019/11/12
1.7K0
springboot入门之路(二)
springboot入门之路(二) 继springboot入门之路(一)连续的学习渐进之路。 阅读springboot入门之路(一)点击:springboot入门之路(一) 3.springboot配置及注意事项 3.1继承starter parent 想配置你的项目继承 spring-boot-starter-parent 只需要简单地设置 parent 为: <!-- Inherit defaults from Spring Boot --> <parent> <groupId>org.spring
挑战者
2018/06/29
3890
Spring Boot构建系统
在Spring Boot中,选择构建系统是一项重要任务。建议使用Maven或Gradle,因为它们可以为依赖关系管理提供良好的支持。Spring不支持其他构建系统。
黑洞代码
2022/07/01
6730
Spring Boot构建系统
Spring全家桶的深入学习(一):Spring起步
随着Spring Boot 2.x的引入,Spring自动配置的能力已经大大加强,Spring Boot能够基于类路径中的条目、环境变量和其他因素合理猜测需要配置的组件并将它们装配在一起。Java程序员尽可能多地使用Spring Boot,只有在必要的时候才使用显式配置。
智慧zhuhuix
2020/08/14
8260
Spring全家桶的深入学习(一):Spring起步
深入浅出Spring Boot框架--6个知识点小结!
产生背景:Spring开发比较繁琐,配置文件很多,部署流程复杂,整合第三方框架难度大。这会降低开发效率
Java程序猿
2021/02/02
1K0
了解Spring Boot
在开始了解Spring Boot之前,我们需要先了解一下Spring,因为Spring Boot的诞生和Spring是息息相关的,Spring Boot是Spring发展到一定程度的一个产物,但并不是Spring的替代品,Spring Boot是为了让程序员更好的使用Spring。说到这里可能有些人会迷糊,那到底Spring和Spring Boot有着什么样的联系呢?
赵哥窟
2021/05/18
5720
spring boot 使用及最佳实践
用户可以通过继承spring-boot-starter-parent来获取默认的依赖。
WindWant
2020/09/11
6640
Spring Boot入门
–jdk1.8:Spring Boot 推荐jdk1.7及以上;java version “1.8.0_112”
兮动人
2021/06/11
6050
Spring Boot入门
Spring Boot实战:逐行释义HelloWorld
一、前言    研究Spring boot也有一小段时间了,最近会将研究东西整理一下给大家分享,大概会有10~20篇左右的博客,整个系列会以一个简单的博客系统作为基础,因为光讲理论很多东西不是特别容易理解,并且如果每次通过一个简单的小程序也无法系统的把握好一些知识点,所以就以一个简单的系统作为基础来讲,看看通过spring boot如何实现一个完整系统。本系列除了Spring boot基本的知识点之外,还会涉及到Spring boot与数据库、缓存(redis)、消息队列等的结合以及多实例部署等方面的内容。
用户2140019
2018/05/18
8460
SpringBoot 2.0 系列(二):流程详解(上)
本节将详细介绍如何使用Spring Boot。它涵盖了诸如项目管理及自动构建工具、自动配置以及如何运行应用程序等主题。我们还介绍了一些Spring Boot最佳实践。Spring Boot没有什么特别之处(它只是另一个我们可以使用的库),但是有一些约定俗成的建议(“习惯优于配置"),如果遵循这些建议,将使我们的开发过程变得更容易一些。
山禾说
2019/01/21
8070
Spring Boot Thymeleaf示例
Thymeleaf是一个基于Java的库,用于创建Web应用程序。它为在Web应用程序中提供XHTML/HTML5提供了很好的支持。
黑洞代码
2021/09/03
6670
Spring Boot Thymeleaf示例
Spring Boot简介 & 入门
许可协议: 署名-非商业性使用-禁止演绎 4.0 国际 转载请保留原文链接及作者。
Bobby
2019/04/09
4170
Spring Boot简介 & 入门
Spring Boot简明教程--Spring Boot三种创建方式
安装JDK,推荐JDK8或者11,下载地址https://www.injdk.cn/,推荐adoptopenjdk,下载的win msi版本的会自动添加path,安装后测试java和javac命令
听城
2021/01/21
6620
Spring Boot 入门
Spring Boot 是由 Pivotal 团队提供的基于 Spring 的全新框架,其设计目的是为了简化 Spring 应用的搭建和开发过程。该框架遵循“约定大于配置”原则,采用特定的方式进行配置,从而使开发者无需定义大量的 XML 配置。通过这种方式,Spring Boot 致力于在蓬勃发展的快速应用开发领域成为领导者。
三哥
2019/07/30
3590
利用IDEA将SpringBoot的项目打包成war文件
摘要总结:本文介绍了如何利用IDEA将SpringBoot的项目打包成war文件,包括修改pom.xml文件、修改SpringBoot中的启动文件以及最重要的打包步骤。注意要将spring-boot-starter-tomcat中的scope改为provided,否则会报错。
林老师带你学编程
2018/01/04
1.7K0
Spring boot之Hello World(一)
什么是Spring boot? Spring Boot是由Pivotal团队提供的全新框架,其设计目的是用来简化新Spring应用的初始搭建以及开发过程。该框架使用了特定的方式来进行配置,从而使开发人员不再需要定义样板化的配置。 Spring boot 特性 创建独立的Spring应用程序 嵌入的Tomcat,无需部署WAR文件 简化Maven配置 自动配置Spring 提供生产就绪功能,如指标健康检查为外部配置 开箱即用没有代码生成也无需XML配置 Spring boot特性理解 为基于Spri
楠楠
2018/09/11
5070
Spring boot之Hello World(一)
Spring Boot 第一弹,问候一下世界!!!
相信从事Java开发的朋友都听说过SSM框架,这还算年轻的,老点的甚至经历过SSH,说起来有点恐怖,哈哈。比如我就是经历过SSH那个时代末流,没办法,很无奈。
爱撒谎的男孩
2023/08/25
2240
SpringBoot项目源码知识梳理与演示
随着微服务架构的兴起,SpringBoot作为构建微服务的首选框架,在Java开发者中广受欢迎。掌握SpringBoot的源码知识,不仅有助于深入理解其运行机制,还能在面试中脱颖而出。本文将从SpringBoot面试常见问题出发,逐步梳理源码流程、前置知识、自动装配机制、核心注解、Import注解的用法、公共模块集成,最后通过一个具体的Demo演示SpringBoot的使用,并总结相关知识。
小马哥学JAVA
2025/01/06
1920
Spring Boot 应用监控
当一个Spring Boot 应用运行的时候,开发者需要对Spring Boot应用进行实时监控,获得项目的报警需求,Spring Boot 提供了,actuator 来帮助开发者获取应用程序运行时的数据。
mySoul
2020/06/16
8480
【Java】已解决:org.springframework.boot.context.embedded.EmbeddedServletContainerException
已解决:org.springframework.boot.context.embedded.EmbeddedServletContainerException
屿小夏
2025/05/24
1640
相关推荐
深入Spring Boot (十三):整合Kafka详解
更多 >
交个朋友
加入腾讯云官网粉丝站
蹲全网底价单品 享第一手活动信息
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
本文部分代码块支持一键运行,欢迎体验
本文部分代码块支持一键运行,欢迎体验