# springbootmuti **Repository Path**: fu_960301328/springbootmuti ## Basic Information - **Project Name**: springbootmuti - **Description**: No description available - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2024-11-12 - **Last Updated**: 2024-11-14 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 创建项目 https://blog.csdn.net/csdnerM/article/details/136770340 # 添加外部jar包 https://www.jb51.net/program/328557uyn.htm # 搜包 https://start.spring.io/ maven 中央仓库 搜包 spring-boot-starter-web # 热更新 配置 # 服务模块 devtools: restart: # 热部署开关 enabled: true 编辑器设置 勾选 编译器 =》自动构建项目 高级设置 =》 编译器(即使开发的应用) # 多模块 https://blog.51cto.com/u_16213610/11239031 # 启动类 package com.xiao.multimodule; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; @SpringBootApplication public class MultiModuleApplication { public static void main(String[] args) { System.out.println("Hello world!"); SpringApplication.run(MultiModuleApplication.class, args); } } # mvn clean install mvn clean install 是 Maven 的一个常用命令,它用于执行一系列构建步骤。下面是这个命令各个部分的作用: mvn clean install 命令分为两个部分: clean 该命令会清除项目中的 target/ 目录,这个目录中包含了编译过程中生成的所有文件(例如 .class 文件、.jar 文件等)。这意味着在每次构建之前,Maven 会删除之前的编译文件,确保构建过程从一个干净的状态开始。 作用:清理旧的构建产物,避免使用过时的文件影响新的构建。 install 该命令会执行编译、测试、打包、安装等一系列步骤: compile:编译项目中的源代码。 test:运行项目中的单元测试,确保代码没有错误。 package:将项目打包成 .jar 或 .war 等文件,取决于项目的配置。 install:将打包后的文件安装到本地的 Maven 仓库(~/.m2/repository),这样其他项目可以依赖和使用这个项目。如果该项目是父模块或者模块依赖的库,那么它会被其他模块引用。 整个过程的作用: 清理项目的构建产物(删除 target/ 目录)。 重新编译、测试、打包并将最终构建的 .jar 文件安装到本地 Maven 仓库。 运行 mvn clean install 后的效果: 项目会从头开始编译,并生成最新版本的构建产物(通常是 .jar 或 .war 文件),并将其存储在本地 Maven 仓库中。 如果在多模块项目中执行该命令,Maven 会按照依赖关系顺序构建所有子模块,并将它们安装到本地仓库中。 常见用途: 在首次构建项目时,或当你想清理并重新构建项目时,使用 mvn clean install。 如果你的项目依赖于其他本地构建的模块或第三方库,install 目标确保这些依赖项可以被其他模块访问。 总结: mvn clean install 是 Maven 的一个全面命令,它结合了清理和安装步骤,常用于确保项目依赖项和构建产物是最新的。 # 多模块 dependencyManagement 在 Spring Boot 的多模块项目中, 是在父模块中使用的一个配置段,旨在集中管理子模块的依赖版本。这样,子模块可以引用依赖时不必在各自的 pom.xml 中指定版本号,而是继承父模块中定义的版本号。 这里的父模块是一个父级的 pom.xml 项目文件,它通常只定义模块结构和共享的配置,并不包含实际的代码。具体来说, 配置的作用如下: 版本统一管理:父模块通过 定义了所有子模块可能使用的依赖及其版本,确保各子模块使用的依赖版本一致。这样避免了在各子模块中手动指定版本号,减少了版本不一致的问题。 方便维护:如果项目需要更新依赖的版本,可以在父模块的 中统一更改版本号。各个子模块会自动继承更新后的版本,无需逐个修改。 # 包 创建项目 默认一开始有两个包 spring-boot-starter,spring-boot-starter-test - spring-boot-starter-web (启动后 就不会输出 退出了) spring-boot-starter-web 是 Spring Boot 提供的一个核心依赖,用于快速构建 Web 应用程序。它集成了许多功能,帮助开发者简化 Web 应用的开发过程。以下是 spring-boot-starter-web 的主要功能: 嵌入式 Web 服务器: 提供嵌入式的 Tomcat、Jetty 或 Undertow 服务器,开发者可以直接运行项目而无需单独配置服务器。 Spring MVC 支持: 包含了 Spring MVC 框架,用于构建 RESTful API 和处理 HTTP 请求。 RESTful API 开发支持: 提供了构建 RESTful API 的功能,支持注解如 @RestController、@GetMapping、@PostMapping 等来简化请求的处理。 JSON 数据处理: 集成了 Jackson 库,支持对象和 JSON 之间的自动序列化和反序列化。 异常处理: 提供了默认的异常处理机制,并支持通过 @ControllerAdvice 和 @ExceptionHandler 自定义异常处理。 表单数据和文件上传: 处理表单数据以及文件上传需求,支持 @RequestParam、@RequestBody 等注解来简化参数获取。 参数校验: 集成了 javax.validation 和 Hibernate Validator,支持对请求参数的自动校验,并提供友好的错误响应。 HTTP 编码、压缩等设置: 自动配置了常见的 HTTP 响应压缩、内容协商、编码等功能,提升 Web 应用的性能。 异步请求支持: 支持异步请求处理,使应用能够处理高并发的请求,如基于 @Async 的异步方法调用。 跨域资源共享 (CORS): 提供了灵活的 CORS 配置,可以通过配置文件或注解 @CrossOrigin 实现跨域请求的支持。 通过 spring-boot-starter-web,开发者可以快速创建、配置并运行一个基于 Spring MVC 的 Web 应用或 RESTful 服务,大大提高开发效率。 -spring-boot-starter spring-boot-starter 是 Spring Boot 提供的基础依赖包,它引入了一些 Spring Boot 项目中常用的核心组件和工具,帮助简化应用程序的开发和启动。这个依赖是所有 Spring Boot 应用的基本组成部分,通常会被其他更具体的 starter 依赖(如 spring-boot-starter-web)所包含。 以下是 spring-boot-starter 提供的主要功能: 自动配置支持: 包含 spring-boot-autoconfigure,这是 Spring Boot 的自动配置模块,帮助自动配置常用的 Spring 组件和第三方库(如数据库连接、JPA、JDBC等),开发者无需手动编写繁琐的配置代码。 Spring 核心组件: 提供了 Spring Framework 的核心模块,如依赖注入(DI)、控制反转(IoC)容器、事件机制等。 日志支持: 集成了 spring-boot-starter-logging,默认配置了 SLF4J 和 Logback,为应用提供开箱即用的日志功能。开发者可以直接使用 logger 进行日志记录,而无需额外配置。 YAML 和 Properties 配置文件支持: 支持使用 application.properties 或 application.yml 文件来配置应用的参数,并能够根据环境不同加载不同的配置文件。 外部化配置支持: 提供了 Spring Boot 的外部化配置支持,可以通过多种方式(如环境变量、命令行参数等)来定义应用配置,方便在不同环境中灵活配置应用。 通常情况下,spring-boot-starter 是所有 Spring Boot 应用的基础依赖,如果使用其他的 spring-boot-starter-*(如 spring-boot-starter-web、spring-boot-starter-data-jpa),会自动包含它。所以在使用 spring-boot-starter-web 时,spring-boot-starter 已经隐式地包含在内了。