工具箱

不用翻课文找那三行配置:勾出你要的形态,读它下面写的代价,复制回自己的工程。控制台的每一条回答都来自浏览器里真实运行的 Java 内核。

生成器pom.xml 依赖pom.xml2 / 16
只勾你这一课要用的那几项:勾得越多,越容易在启动阶段撞出不熟悉的报错——那不是生成器的错,是你提前遇到了真实工程。
产物
<?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.3.4</version> <!-- 版本由 BOM 统管,子依赖不写 version -->
        <relativePath/>
    </parent>

    <groupId>com.example</groupId>
    <artifactId>demo-service</artifactId>
    <version>0.0.1-SNAPSHOT</version>

    <properties>
        <java.version>17</java.version>
        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
    </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-validation</artifactId>
        </dependency>
    </dependencies>

    <build>
        <plugins>
            <plugin>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-maven-plugin</artifactId>
            </plugin>
        </plugins>
    </build>
</project>
勾了这些,代价与理由在这里
parent继承 3.3.4 的 starter-parent 之后,所有 spring-boot-starter-* 都不用写版本号;一旦有人手写给某个 starter 加 version,就以那条为准——这是依赖版本漂移最常见的原因。
Web做接口就绕不开它: DispatcherServlet、内嵌 Tomcat、JSON 序列化全在这个 starter 里。
Validation给了 @Valid 才有人干活;漏掉它,@NotNull 会安静地什么也不校验。
生成器不替你思考:它把「这一行为什么存在」写在产物下面,复制之前请先读那几行。
TeaVM内核控制台 · 自由练习待命内核运算中…
这里没人给你划范围,全部命令都能敲。先 boot,再 beans,然后试着把 jdbcOnClasspath 关掉,看依赖链怎么一层层塌。
这里是一台真容器:Java 写的内核已经编译进浏览器。敲 help 看命令,或者直接点下面那颗按钮。
kernel:~$