文章目录

  • 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

springboot rbac 脚手架 springboot项目脚手架_maven

将脚手架项目引入IDEA并删除

springboot rbac 脚手架 springboot项目脚手架_spring_02

1.2 IDEA中使用脚手架创建项目

springboot rbac 脚手架 springboot项目脚手架_maven_03

2. 代码结构

2.1 单一结构

com.example.模块名称
            +----Application.java 启动类
			+----controller 控制器包
				---StudentController.java
				---ScoreController.java
			+----service 业务层包
				---inter 业务层接口
				---impl 接口实现包
			+----repository 持久层包
			+----model 模型包
				---entity 实体类包
				---dto 数据传输包
				---vo 视图数据包

springboot rbac 脚手架 springboot项目脚手架_spring_04

2.2 多模块

springboot rbac 脚手架 springboot项目脚手架_springboot rbac 脚手架_05

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 文件的路径