【SpringBoot】一:SpringBoot的基础(上)
文章目录
1. 脚手架创建项目
脚手架辅助创建程序的工具,Spring Initializr 是创建 Spring Boot 项目的脚手架。快速建立 Spring Boot 项目的最好方式。他是一个 web 应用,能够在浏览器中使用。IDEA 中继承了此工具,用来快速创建 Spring Boot 项目以及 Spring Cloud 项目。
Spring Initializr 脚手架的 web 地址: https://start.spring
阿里云脚手架:https://start.aliyun.com/
1.1使用Spring Initializr
将脚手架项目引入IDEA并删除
1.2 IDEA中使用脚手架创建项目
2. 代码结构
2.1 单一结构
com.example.模块名称+----Application.java 启动类+----controller 控制器包---StudentController.java---ScoreController.java+----service 业务层包---inter 业务层接口---impl 接口实现包+----repository 持久层包+----model 模型包---entity 实体类包---dto 数据传输包---vo 视图数据包
2.2 多模块
2.3 包和主类
@SpringBootApplication 注释通常放在主类上,它隐式地为某些项定义了一个基本的“搜索包”
2.4 pom文件
<?xml version="1.0" encoding="UTF-8"?>
<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 https://maven.apache.org/xsd/maven-4.0.0.xsd"><modelVersion>4.0.0</modelVersion><!--parent表示父项目--><parent><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-parent</artifactId><version>3.0.5</version><relativePath/> <!-- lookup parent from repository --></parent><!--当前项目坐标--><groupId>com.sdnu</groupId><artifactId>Lession06-package</artifactId><version>0.0.1-SNAPSHOT</version><name>Lession06-package</name><description>Lession06-package</description><!--jdk版本--><properties><java.version>17</java.version></properties><!--依赖列表--><dependencies><!--SpringWeb依赖带有starter单词的叫做启动器(启动依赖)spring-boot-starter-xxx:是SpringBoot官方推出的启动器xxx-starter:是非SpringBoot官方推出的启动器--><!--starter启动器,是一组依赖的描述(说明那些maven, gav以及其它需要的gav)包含 依赖和版本 传递依赖和版本 配置类和配置项--><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-web</artifactId></dependency><dependency><groupId>org.projectlombok</groupId><artifactId>lombok</artifactId><optional>true</optional></dependency><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-test</artifactId><scope>test</scope></dependency></dependencies><build><plugins><plugin><groupId>org.springframework.boot</groupId><artifactId>spring-boot-maven-plugin</artifactId><configuration><excludes><exclude><groupId>org.projectlombok</groupId><artifactId>lombok</artifactId></exclude></excludes></configuration></plugin></plugins></build></project>
2.4.1 父项目
pom.xml 中的指定 spring-boot-starter-parent 作为坐标,表示继承 Spring Boot 提供的父项目。从
spring-boot-starter-parent 继承以获得合理的默认值和完整的依赖树,以便快速建立一个 Spring Boot 项目。 父项
目提供以下功能:
JDK 的基准版本,比如<java.version>17</java.version>
源码使用 UTF-8 格式编码
公共依赖的版本
自动化的资源过滤:默认把 src/main/resources 目录下的文件进行资源打包
maven 的占位符为‘@’
对多个 Maven 插件做了默认配置,如 maven-compile-plugin,maven-jar-plugin
2.4.2 启动器
starter 是一组依赖描述,应用中包含 starter,可以获取 spring 相关技术的一站式的依赖和版本。不必复制、
粘粘代码。通过 starter 能够快速启动并运行项目。
starter 包含:
依赖坐标、版本
传递依赖的坐标、版本
配置类,配置
2.4.3 不使用父项目
快速创建 Spring Boot 项目,同时能够使用父项目带来的便利性,可以采用如下两种方式
(1)在项目中,继承 spring-boot-starter-paren
(2)pom.xml 不继承,单独加入 spring-boot-dependencies 依赖。
<dependencyManagement><dependencies><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-dependencies</artifactId><version>3.0.1</version><type>pom</type><scope>import</scope></dependency></dependencies>
</dependencyManagement>
3. 运行SpringBoot项目
开发工具,例如 IDEA 执行 main 方法
Maven 插件 mvn spring-boot:run
java -jar jar 文件的路径