目录
A. 简介
Spring Boot 是一种用于简化 Spring 应用开发的框架,它具有以下特点和优势:
一、简化配置
- 传统 Spring 应用配置的复杂性:
- 在传统的 Spring 应用中,需要进行大量繁琐的 XML 配置来管理各种组件,如数据库连接、事务管理、Bean 的创建和装配等。例如,配置数据库连接时,需要在 XML 文件中详细定义数据库驱动、URL、用户名、密码等信息,并且还需要配置数据源相关的 Bean 等。对于一个中等规模的应用,可能会有多个 XML 配置文件,每个文件都可能包含大量的配置代码,这不仅增加了开发的复杂性,也容易出错,而且对于开发者来说,需要花费大量时间去理解和维护这些配置。
- Spring Boot 的自动配置:
- Spring Boot 采用了自动配置的机制,极大地简化了这些配置过程。它能够根据项目中引入的依赖自动进行相关配置。例如,如果项目中添加了 MySQL 数据库驱动的依赖,Spring Boot 会自动探测到并配置好数据库连接相关的基本设置,开发者无需再手动编写大量的数据库配置代码。它还会根据应用的类型(如 Web 应用)自动配置相应的组件,如内置了 Tomcat 服务器的默认配置,开发者只需简单引入相关依赖,就可以快速搭建起一个 Web 应用环境,而不需要像传统 Spring 应用那样进行复杂的服务器配置。
二、快速开发
- 内置起步依赖:
- Spring Boot 提供了一系列的起步依赖(Starter Dependencies),这些起步依赖是一组经过精心挑选和预配置的依赖集合。例如,当开发一个 Web 应用时,只需要在项目的构建文件(如 Maven 或 Gradle 的配置文件)中引入 spring-boot-starter-web 依赖,这个依赖就会自动包含了构建 Web 应用所需的一系列库和框架,如 Spring MVC、Jackson(用于 JSON 数据处理)等。这使得开发者无需逐个查找和添加每个相关的库,大大节省了开发时间,并且保证了这些库之间的兼容性。
- 简化项目构建:
- 对于项目构建过程,Spring Boot 也进行了优化。以 Maven 为例,使用 Spring Boot 创建一个新的项目时,可以通过 Maven 的 Archetype 快速生成项目的基本结构,并且自动配置好相关的依赖和基础代码。开发者可以直接在生成的项目基础上进行业务代码的编写,无需过多关注底层的构建配置细节。而且,Spring Boot 支持热部署功能,在开发过程中,当对代码进行修改后,应用可以自动重新加载,无需手动重启服务器,极大地提高了开发效率。
三、微服务支持
- 易于构建独立的微服务:
- 在微服务架构中,每个微服务都应该是独立部署和可扩展的。Spring Boot 非常适合构建这种微服务。开发者可以使用 Spring Boot 快速创建一个个独立的应用模块,每个模块都可以作为一个微服务。每个微服务可以专注于特定的业务功能,并且可以独立进行开发、测试和部署。例如,一个电商系统可以拆分为商品服务、订单服务、用户服务等多个微服务,每个微服务都用 Spring Boot 进行开发,它们之间可以通过轻量级的通信机制(如 RESTful API)进行交互。
- 与云平台的集成:
- Spring Boot 能够很好地与云平台进行集成,适应云原生应用的开发需求。它支持多种云平台部署方式,如可以轻松地将应用部署到 Amazon Web Services(AWS)、Microsoft Azure、Google Cloud Platform 等云服务提供商的平台上。同时,Spring Boot 还提供了一些与云平台相关的功能支持,如对云平台的配置管理(如读取云平台的环境变量等)、服务发现(如与 Netflix Eureka 等服务发现组件集成)等,使得在云环境下开发和管理微服务更加便捷。
四、监控和管理
- 内置的监控指标:
- Spring Boot 提供了内置的监控功能,可以实时监控应用的运行状态。它提供了一系列的监控指标,如应用的内存使用情况、CPU 利用率、数据库连接情况、HTTP 请求的响应时间等。这些指标可以帮助开发者及时了解应用的运行性能和健康状况,以便在出现问题时能够快速定位和解决。例如,通过监控数据库连接情况,可以及时发现数据库连接池是否满了或者是否存在慢查询等问题。
- Actuator 模块:
- Spring Boot 的 Actuator 模块提供了对应用进行管理和监控的端点(Endpoints)。通过这些端点,可以获取应用的各种信息并进行一些管理操作。例如,可以通过 /health 端点获取应用的健康状况信息,包括数据库连接是否正常、依赖的其他服务是否可用等;通过 /metrics 端点可以获取应用的各种度量指标,如请求的吞吐量、错误率等;还可以通过 /shutdown 端点安全地关闭应用等。这些端点可以方便地与监控系统(如 Prometheus、Grafana 等)集成,实现对应用的全面监控和可视化管理。
总的来说,Spring Boot 以其简化配置、快速开发、对微服务的良好支持以及强大的监控管理功能等特点,成为了 Java 应用开发中非常受欢迎的框架,大大提高了开发效率和应用的质量,并且适应了现代应用开发的多种需求,无论是构建传统的企业级应用还是新兴的微服务架构应用。
B. 下载
一. 配置本地Maven
下载地址:
解压到本地文件夹
配置IDEA
二. 修改阿里云 maven 镜像
打开本地 settings.xml
<mirror>
<id>alimaven</id>
<mirrorOf>*</mirrorOf>
<name>aliyun maven</name>
<url>https://maven.aliyun.com/nexus/content/groups/public/</url>
</mirror>
三. 导入SpringBoot的相关依赖
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
<version>3.3.2</version>
</dependency>
</dependencies>
完成
C. 例子
Main
package org.example;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
//TIP 要<b>运行</b>代码,请按 <shortcut actionId="Run"/> 或
// 点击装订区域中的 <icon src="AllIcons.Actions.Execute"/> 图标。
@SpringBootApplication
public class Main {
public static void main(String[] args) {
//
SpringApplication.run(Main.class, args);
}
}
ControllerHello
package org.example;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;
@Controller
public class ControllerHello {
@RequestMapping("/hello")
@ResponseBody
public String hello(){
return "Hello World";
}
}
PS报错端口被占用
新建
application.properties
更改端口即可
server.port=8083
启动成功
打开网址
D. 快捷使用
使用spring-boot-maven-plugin
打包 Spring Boot 应用为 JAR 文件
一、引入插件
- 确保在项目的
pom.xml
文件中已经正确引入了spring-boot-maven-plugin
插件。在<build>
标签内,应该有类似如下的配置:
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
<executions>
<execution>
<goals>
<goal>repackage</goal><!--可以把依赖的包都打包到生成的Jar包中 -->
</goals>
</execution>
</executions>
</plugin>
</plugins>
</build>
二、执行打包命令
- 在项目的根目录下(即包含
pom.xml
文件的目录),打开命令行终端。 - 运行以下 Maven 命令来打包项目:
mvn clean package
mvn clean
命令会先清理项目的目标目录(通常是target
目录),删除之前的编译和打包结果等。mvn package
命令会触发 Maven 的打包过程。对于 Spring Boot 项目,spring-boot-maven-plugin
会在这个过程中起作用,将项目及其依赖打包成一个可执行的 JAR 文件。
三、查看打包结果
- 打包成功后,在项目的
target
目录下,你会找到生成的 JAR 文件。 - 这个 JAR 文件包含了你的应用代码以及所有的依赖库,可以直接运行。
其中,<mainClass>
用于指定应用的主类,当你运行 JAR 文件时,Spring Boot 会从这个主类开始启动应用。<includes>
部分可以用来指定要包含在 JAR 文件中的特定依赖(这里只是示例,根据实际情况修改)。
通过以上步骤和配置,你就可以使用spring-boot-maven-plugin
成功打包 Spring Boot 应用为 JAR 文件。
PS:当你在命令提示符中遇到“无法将‘mvn’项识别为 cmdlet、函数、脚本文件或可运行程序的名称”这个错误时,把解压的Maven的Bin路径添加到环境变量path
四、运行
进入 target目录
运行成功
正常打开网页
标签:SpringBoot,Boot,Spring,配置,jar,Maven,应用,boot,成可 From: https://blog.csdn.net/Cx20190420/article/details/141018242