读书笔记 -- Spring Boot3 核心技术 Chapter1 Spring Boot 基础入门

1.1 Spring Boot 概述

1. Spring 的两个核心: IoC 和 AOP,关于其详细介绍,参看 https://www.cnblogs.com/bruce-he/p/17503258.html

2. Spring Boot 提供了各种技术组件的一站式自动启动器(starter),下面是一个实例的 pom.xml

<?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>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-parent</artifactId>
        <version>3.1.1</version>
        <relativePath/> <!-- lookup parent from repository -->
    </parent>
    <groupId>com.example</groupId>
    <artifactId>demo</artifactId>
    <version>0.0.1-SNAPSHOT</version>
    <name>springboot3_demo</name>
    <description>Demo project for Spring Boot</description>
    <properties>
        <java.version>17</java.version>
    </properties>
    <dependencies>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
        </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>
            </plugin>
        </plugins>
    </build>

</project>

3. Spring Boot 的优点:

  • 1)创建传统的 war 包;
  • 2)创建独立的、不依赖任何外部 Servlet 容器的应用(内置 Servlet 容器),可用 java -jar 启动;
  • 3)Spring Boot 3.0 添加了对 GraalVM 原生镜像的支持;

4. Spring Boot 的核心思想:约定大于配置,即:

  • 1)约定并提供一些推荐的默认配置参数;
  • 2)开发者定义约定以外的配置参数;

5. Spring Boot 的基本特性:

  • 1)独立运行:框架内嵌了各种 Servlet 容器,包括 Tomcat、Jettey、Undertow,应用可以:a)打包成 war 包部署到 tomcat;b)打包成 jar,并通过 "java -jar xxx.jar"运行;
  • 2)简化配置:提供了开箱即用的 "Starter" 一站式启动器即可简化依赖配置,另外,自动配置包中提供了各种技术的默认底层实现组件、默认的组件配置实例、默认的配置参数等;
  • 3)自动配置:引入 "Starter" ,通过默认的或自定义的配置参数,即可快速集成并开箱使用;
  • 4)无代码生成和无须 XML 配置文件:是通过 Spring & Spring Boot 中的各种条件注解完成的,Spring Boot 应用在运行时根据指定的条件、上下文环境参数等完成自动配置。并非是生成代码或 XML 配置文件;
  • 5)各种生产级特性:提供了如 端点、指标、健康检查、应用监控等;

6. Spring Boot 的集成方式:

  • 1)Maven / Gradle 插件 (如 1.1 第2点的 pom.xml);
  • 2)Spring Boot CLI 命令工具;

 

1.3.4 构建、启动应用

// 该方式会在 项目下面生成一个 target 文件夹,里面包含编译过的 class 文件,并且项目已通过 tomcat 启动
//
windows cd 项目路径下 mvn spring-boot:run // 这里就是 spring-boot,非项目名称,关于其解释,参看 https://blog.csdn.net/zzuhkp/article/details/123493071

 


 1.4 使用 Maven

// 对比 1.3.4 的命令,该方式会在 项目下面生成一个 target 文件夹,里面包含编译过的 class 文件,还有 maven 的文件 (pom.properties) 及 打包后的 jar 包,并且项目已通过 tomcat 启动
// windows
cd 项目路径下
./mvnw clean install   // 或者是"mvn clean install"

 

另外的一个构建工具是 Gradle,可用对应的 Groovy 脚本。关于 Maven 与 Gradle 的差异,可参看:https://zhuanlan.zhihu.com/p/21394120

 


1.5 Spring Boot CLI

获取 spring boot cli 指定版本,可以通过 修改链接的版本信息来下载:https://repo.spring.io/release/org/springframework/boot/spring-boot-cli/2.4.3/spring-boot-cli-2.4.3-bin.zip

 

posted on 2023-06-26 11:24  bruce_he  阅读(34)  评论(0编辑  收藏  举报