文章目录
- 1. 脚手架创建项目
- 1.1使用Spring Initializr
- 1.2 IDEA中使用脚手架创建项目
- 2. 代码结构
- 2.1 单一结构
- 2.2 多模块
- 2.3 包和主类
- 2.4 pom文件
- 2.4.1 父项目
- 2.4.2 启动器
- 2.4.3 不使用父项目
- 3. 运行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 文件的路径