Spring Boot:Java开发的神奇加速器(一)
目录
一、Spring Boot 初印象
1.1 什么是 Spring Boot
1.2 诞生背景与目标
1.3 主要特性
二、搭建开发环境
2.1 安装 JDK
2.2 安装 Maven
2.3 选择开发工具
三、创建第一个 Spring Boot 应用
3.1 使用 Spring Initializr 生成项目
3.2 项目结构剖析
3.3 主类详解
3.4 编写第一个控制器
3.5 运行应用
一、Spring Boot 初印象
1.1 什么是 Spring Boot
Spring Boot 是由 Pivotal 团队开发的全新开源轻量级框架,它基于 Spring 4.0 设计,旨在简化 Spring 应用的搭建和开发过程。它并非是要替代 Spring 框架原有的优秀特性,而是在其基础上,通过一系列创新和优化,让开发者能够更加高效地构建 Spring 应用。
1.2 诞生背景与目标
在 Spring Boot 诞生之前,使用 Spring 框架进行开发,往往需要编写大量的 XML 配置文件来配置 Web 应用环境。随着项目规模的扩大以及集成软件的增多,XML 配置文件的数量和复杂度急剧上升,项目依赖管理也变得越发困难。这些配置文件不仅繁琐,而且其中绝大多数属于模板配置,缺乏灵活性,还容易出错。
例如,在一个简单的 Spring MVC 项目中,配置数据源、事务管理、AOP 等功能时,需要在 XML 文件中编写大量重复且相似的配置代码,这使得开发效率低下,并且增加了出错的风险。
Spring Boot 的出现,就是为了解决这些问题,它的目标是实现免 XML 配置的开发体验,让开发者能够更专注于业务逻辑的实现,而不是被繁琐的配置工作所困扰。同时,Spring Boot 也顺应了微服务架构的发展趋势,为快速开发微小独立的应用提供了有力支持。
1.3 主要特性
- 自动配置:Spring Boot 的自动配置功能是其一大亮点。它基于约定大于配置的原则,能够根据项目中类路径下的依赖自动推断并配置应用所需的各种组件和功能。例如,当项目中引入了spring-boot-starter-web依赖时,Spring Boot 会自动配置好 Spring MVC、Tomcat 等相关组件,开发者无需手动编写大量的配置代码,即可快速搭建一个 Web 应用。这种自动配置机制大大简化了开发过程,提高了开发效率。
- 嵌入式服务器:Spring Boot 内置了 Tomcat、Jetty、Undertow 等多种常用的 Servlet 容器,使得应用可以直接打包成一个可执行的 JAR 文件,无需额外安装和配置外部服务器,即可独立运行。例如,通过java -jar命令,就可以直接运行 Spring Boot 应用,这极大地简化了应用的部署过程,提高了应用的可移植性和灵活性。
- 起步依赖(Starter Dependencies):Spring Boot 提供了一系列的 Starter 依赖,这些依赖将常用的依赖分组进行整合,开发者只需在项目中添加相应的 Starter 依赖,即可一次性引入所需的多个依赖库,避免了手动管理依赖的繁琐过程。例如,添加spring-boot-starter-data-jpa依赖,就可以快速集成 Spring Data JPA 相关的依赖,方便进行数据库访问操作。
- 外部化配置:Spring Boot 支持将应用的配置信息外部化,通过application.properties或application.yaml等配置文件,开发者可以方便地管理应用的各种配置参数,如数据库连接信息、服务器端口号、日志级别等。而且,这些配置文件可以在不同的环境(开发、测试、生产)中进行灵活切换,提高了应用的可配置性和适应性。
- 强大的开发者工具:Spring Boot 提供了丰富的开发者工具,如热部署、自动重启等。热部署功能可以在代码修改后,无需重启应用即可实时生效,大大提高了开发效率;自动重启功能则可以在类路径下的文件发生变化时,自动重启应用,确保应用始终运行在最新的代码状态下。
二、搭建开发环境
“工欲善其事,必先利其器”,搭建一个合适的开发环境是开发 Spring Boot 应用的首要任务。下面将详细介绍搭建 Spring Boot 开发环境所需的关键步骤和工具。
2.1 安装 JDK
JDK(Java Development Kit)是 Java 开发的基础,Spring Boot 应用自然也离不开它。以下是在 Windows 系统下安装 JDK 1.8 的详细步骤:
下载 JDK:访问 Oracle 官方网站的 JDK 下载页面(https://www.oracle.com/java/technologies/downloads/#java8),根据你的操作系统选择对应的 JDK 安装包进行下载。例如,如果你使用的是 64 位 Windows 系统,就下载 Windows x64 Installer 版本。
安装 JDK:双击下载的安装包,进入安装向导。在安装过程中,你可以选择默认的安装路径,也可以根据自己的需求自定义安装路径。建议保持默认路径,这样可以避免一些潜在的配置问题。安装过程中会出现两次安装界面,分别是 JDK 的安装和 JRE(Java Runtime Environment)的安装,按照提示依次完成即可。
配置环境变量:安装完成后,需要配置环境变量,以便系统能够找到 JDK 的相关命令。
- 右键点击 “此电脑”,选择 “属性”。
- 在弹出的窗口中,点击 “高级系统设置”。
- 在 “系统属性” 窗口中,点击 “环境变量” 按钮。
- 在 “系统变量” 部分,点击 “新建” 按钮,创建一个新的变量。变量名输入 “JAVA_HOME”,变量值输入 JDK 的安装路径,例如 “C:\Program Files\Java\jdk1.8.0_301”(根据你实际的安装路径填写)。
- 找到系统变量中的 “Path” 变量,点击 “编辑”。在弹出的 “编辑环境变量” 窗口中,点击 “新建”,然后输入 “% JAVA_HOME%\bin” 和 “% JAVA_HOME%\jre\bin”,点击 “确定” 保存设置。这一步的作用是将 JDK 的 bin 目录添加到系统的可执行路径中,这样在命令行中就可以直接使用 Java 相关的命令了。
- 再次点击 “新建”,创建一个名为 “CLASSPATH” 的变量,变量值输入 “.;% JAVA_HOME%\lib;% JAVA_HOME%\lib\tools.jar”(注意最前面有一个点,表示当前目录)。CLASSPATH 变量用于指定 Java 类文件的搜索路径。
验证安装:打开命令提示符(Win + R,输入 “cmd” 并回车),输入 “java -version” 命令,如果显示 JDK 的版本信息,说明 JDK 安装和配置成功。例如:
java version "1.8.0_301"
Java(TM) SE Runtime Environment (build 1.8.0_301-b09)
Java HotSpot(TM) 64-Bit Server VM (build 25.301-b09, mixed mode)
2.2 安装 Maven
Maven 是一个强大的项目构建和依赖管理工具,在 Spring Boot 开发中起着重要作用。以下是在 Windows 系统下安装 Maven 3.8.6 的步骤:
下载 Maven:访问 Maven 官方网站(https://maven.apache.org/download.cgi),在 “Files” 部分找到最新版本的 Maven,下载 “apache-maven-3.8.6-bin.zip” 压缩包。
解压 Maven:将下载的压缩包解压到你希望安装 Maven 的目录,例如 “D:\apache-maven-3.8.6”。解压后的目录结构包含 “bin”、“conf”、“lib” 等文件夹,其中 “bin” 目录包含了 Maven 的可执行文件,“conf” 目录包含了 Maven 的配置文件。
配置环境变量:
- 右键点击 “此电脑”,选择 “属性”,进入 “高级系统设置”,再点击 “环境变量”。
- 在 “系统变量” 中,点击 “新建”,变量名输入 “M2_HOME”,变量值输入 Maven 的解压路径,即 “D:\apache-maven-3.8.6”。
- 找到 “Path” 变量,点击 “编辑”,在弹出的窗口中点击 “新建”,输入 “% M2_HOME%\bin”,点击 “确定” 保存设置。这样就将 Maven 的 bin 目录添加到了系统的可执行路径中。
配置 Maven 仓库:Maven 默认从中央仓库下载依赖,但中央仓库在国外,下载速度可能较慢。我们可以配置阿里云的镜像仓库,以提高下载速度。同时,还可以配置本地仓库的路径,方便管理下载的依赖包。
- 打开 Maven 解压目录下的 “conf” 文件夹,找到 “settings.xml” 文件,用文本编辑器打开。
- 在 “settings.xml” 文件中,找到 “” 标签,在其内部添加以下镜像配置:
<mirror>
<id>aliyun</id>
<mirrorOf>central</mirrorOf>
<name>aliyun maven</name>
<url>http://maven.aliyun.com/nexus/content/groups/public/</url>
</mirror>
- 找到 “” 标签(如果没有则手动添加),修改其值为你希望的本地仓库路径,例如:
<localRepository>D:\maven\repository</localRepository>
这一步配置了本地仓库的路径,Maven 会将下载的依赖包存储到这个目录下。如果该目录不存在,Maven 会在第一次使用时自动创建。
5. 验证安装:打开命令提示符,输入 “mvn -version” 命令,如果显示 Maven 的版本信息,说明安装和配置成功。例如:
Apache Maven 3.8.6 (84538c9988a25aec085021c365c560670ad80f63)
Maven home: D:\apache-maven-3.8.6
Java version: 1.8.0_301, vendor: Oracle Corporation, runtime: C:\Program Files\Java\jdk1.8.0_301\jre
Default locale: zh_CN, platform encoding: GBK
OS name: "windows 10", version: "10.0", arch: "amd64", family: "windows"
2.3 选择开发工具
在 Java 开发领域,有许多优秀的集成开发环境(IDE)可供选择,如 Eclipse、NetBeans、IntelliJ IDEA 等。其中,IntelliJ IDEA 凭借其强大的功能、智能的代码提示和对 Spring Boot 的良好支持,成为了 Spring Boot 开发的首选工具。以下是安装和配置 IntelliJ IDEA 2023.2.3 的步骤:
下载 IntelliJ IDEA:访问 JetBrains 官方网站(https://www.jetbrains.com/idea/download/),根据你的操作系统选择对应的版本进行下载。IntelliJ IDEA 分为社区版(Community Edition)和旗舰版(Ultimate Edition),社区版是免费的开源版本,适合个人开发者和学习使用;旗舰版功能更强大,支持更多的框架和技术,适合企业级开发。如果只是进行 Spring Boot 开发的学习和实践,社区版就足够了。
安装 IntelliJ IDEA:双击下载的安装包,进入安装向导。在安装过程中,你可以选择安装路径、是否创建桌面快捷方式等选项。按照提示完成安装即可。
配置 IntelliJ IDEA:
- 首次启动 IntelliJ IDEA 时,会弹出一个欢迎界面,选择 “Configure” -> “Settings”(Windows/Linux)或 “IntelliJ IDEA” -> “Preferences”(Mac),进入设置界面。
- 在设置界面中,找到 “Build, Execution, Deployment” -> “Build Tools” -> “Maven”,在右侧的 “Maven home directory” 中选择你之前安装的 Maven 目录,例如 “D:\apache-maven-3.8.6”。在 “User settings file” 中指定 Maven 的 “settings.xml” 文件路径,“Local repository” 中指定本地仓库路径,这些路径会自动根据你之前对 Maven 的配置进行填充,但最好还是检查一下确保无误。这样配置后,IntelliJ IDEA 就会使用你指定的 Maven 来管理项目的依赖和构建。
- 接着,找到 “Project Structure”,在 “Project” 选项卡中,设置 “Project SDK” 为你之前安装的 JDK 版本,例如 “1.8”。这一步确保了 IntelliJ IDEA 使用正确的 JDK 来编译和运行项目。
- 为了提高开发效率,还可以进行一些其他的个性化设置,如设置代码字体、颜色主题、代码自动补全等。在设置界面中,找到 “Editor” -> “Font”,可以设置代码的字体和大小;找到 “Appearance & Behavior” -> “Appearance”,可以选择喜欢的主题;找到 “Editor” -> “General” -> “Code Completion”,可以设置代码自动补全的相关选项,如是否区分大小写、是否自动弹出补全列表等。
通过以上步骤,我们成功搭建了 Spring Boot 开发所需的环境,包括 JDK、Maven 和 IntelliJ IDEA。这些工具和环境的正确配置是后续进行 Spring Boot 应用开发的基础,确保了我们能够顺利地创建、构建和运行 Spring Boot 项目。
三、创建第一个 Spring Boot 应用
现在,我们已经搭建好了开发环境,接下来就可以着手创建第一个 Spring Boot 应用了。通过创建一个简单的 Hello World 应用,我们可以初步了解 Spring Boot 应用的开发流程和基本结构。
3.1 使用 Spring Initializr 生成项目
Spring Initializr 是一个强大的在线工具,它可以帮助我们快速生成 Spring Boot 项目的基础结构。我们既可以通过官网来使用它,也可以在 IntelliJ IDEA 中直接使用。下面分别介绍这两种方式:
- 通过官网生成项目:
打开浏览器,访问 Spring Initializr 官网:https://start.spring.io/ 。
在官网页面中,我们可以看到一系列的项目配置选项。首先,在 “Project” 下拉框中选择项目构建工具,这里我们选择 “Maven Project”。
“Language” 选择 “Java”,因为我们使用 Java 语言进行开发。
在 “Spring Boot” 版本选择框中,选择你想要使用的 Spring Boot 版本,通常选择最新的稳定版本即可。
在 “Group” 文本框中,填写项目的组名,一般使用公司或组织的反向域名,例如 “com.example”。
在 “Artifact” 文本框中,填写项目的名称,比如 “my - first - spring - boot - app”。
“Name” 和 “Description” 字段会根据你填写的 “Artifact” 自动生成,也可以手动修改,用于描述项目的名称和简介。
“Package Name” 会根据 “Group” 和 “Artifact” 生成,它表示项目的基础包名,保持默认即可,也可以根据需要修改。
在 “Dependencies” 部分,我们可以添加项目所需的依赖。例如,我们要创建一个 Web 应用,就需要添加 “Spring Web” 依赖。在搜索框中输入 “web”,然后在搜索结果中勾选 “Spring Web”,此时会看到右侧的依赖列表中添加了 “spring - boot - starter - web” 依赖。这个依赖包含了 Spring MVC 和 Tomcat 等相关组件,是创建 Web 应用必不可少的。
完成所有配置后,点击页面下方的 “Generate” 按钮,Spring Initializr 会根据我们的配置生成一个压缩包。下载这个压缩包,并解压到你希望存放项目的目录中。
在 IntelliJ IDEA 中使用 Spring Initializr 生成项目:
打开 IntelliJ IDEA,在欢迎界面中点击 “Create New Project”。如果已经在编辑代码页面,可以点击左上角的 “File” -> “New” -> “Project”。
在弹出的 “New Project” 对话框中,左侧选择 “Spring Initializr”(有些版本的 IDEA 显示为 “Spring Boot”,实际上是同一个)。在右侧,“Project SDK” 选择你之前安装好的 JDK 版本,“Initializr Service URL” 保持默认的 “https://start.spring.io” 即可。点击 “Next”。
在这一步,填写项目的基本信息,如 “Group”、“Artifact” 等,与通过官网生成项目时的配置类似。填写完成后,点击 “Next”。
进入到 “Dependencies” 选择界面,在这里搜索并勾选 “Spring Web” 依赖,然后点击 “Finish”。
通过以上两种方式,我们都可以快速生成一个 Spring Boot 项目的基础结构。这种基于 Spring Initializr 的项目生成方式,大大简化了项目创建的过程,减少了手动配置的工作量,提高了开发效率。
3.2 项目结构剖析
生成项目后,我们来分析一下项目的结构。以使用 IntelliJ IDEA 生成的项目为例,其主要目录和文件结构如下:
my-first-spring-boot-app
├── src
│ ├── main
│ │ ├── java
│ │ │ └── com
│ │ │ └── example
│ │ │ └── myfirstspringbootapp
│ │ │ └── MyFirstSpringBootAppApplication.java
│ │ └── resources
│ │ ├── application.properties
│ │ ├── static
│ │ └── templates
│ └── test
│ ├── java
│ │ └── com
│ │ └── example
│ │ └── myfirstspringbootapp
│ │ └── MyFirstSpringBootAppApplicationTests.java
│ └── resources
├── pom.xml
- src/main/java:这个目录是存放 Java 源代码的地方。在这个目录下,我们可以看到按照包名结构组织的 Java 类文件。其中,MyFirstSpringBootAppApplication.java是项目的主类,它是 Spring Boot 应用的入口,通过运行这个类的main方法,可以启动整个 Spring Boot 应用。
- src/main/resources:该目录用于存放应用的资源文件,包括配置文件、静态资源文件等。其中:
- application.properties:这是 Spring Boot 应用的主要配置文件,我们可以在这个文件中配置应用的各种属性,如服务器端口号、数据库连接信息、日志级别等。例如,如果我们想修改应用的默认端口号,可以在这个文件中添加server.port=8081(默认端口号是 8080)。除了.properties格式的配置文件,Spring Boot 还支持application.yml格式的配置文件,它们的功能是一样的,只是语法格式不同。application.yml使用缩进和冒号来表示层级关系,相比application.properties,它的语法更加简洁易读。例如,同样是修改端口号,在application.yml中可以这样配置:
server: port: 8081
- static:用于存放静态资源文件,如图片、CSS、JavaScript 文件等。Spring Boot 会自动将这个目录下的静态资源映射到/路径下,我们可以通过http://localhost:8080/静态资源文件名的方式来访问这些静态资源。例如,如果在static目录下有一个名为style.css的 CSS 文件,我们可以通过http://localhost:8080/style.css来访问它。
- templates:用于存放 Web 页面的模板文件,如 Thymeleaf、Freemarker 等模板引擎的模板文件。如果我们使用 Thymeleaf 作为模板引擎,就可以在这个目录下创建.html文件,并在其中使用 Thymeleaf 的语法来编写动态内容。这些模板文件在运行时会被模板引擎解析,生成最终的 HTML 页面返回给客户端。
- src/test/java:该目录用于存放项目的测试类文件。在这个目录下,我们可以编写各种单元测试和集成测试代码,以确保项目的各个功能模块正常工作。MyFirstSpringBootAppApplicationTests.java是一个自动生成的测试类,它基于 JUnit 5 框架,用于测试 Spring Boot 应用的基本功能。例如,我们可以在这个测试类中编写测试方法,来测试某个控制器的接口是否返回正确的数据。
- src/test/resources:用于存放测试资源文件,如测试配置文件等。在测试过程中,如果需要加载一些特定的配置文件或资源文件,可以将它们放在这个目录下。例如,我们可以在这里放置一个application - test.properties文件,用于在测试时覆盖application.properties中的某些配置,以满足测试环境的需求。
- pom.xml:这是 Maven 项目的核心配置文件,用于管理项目的依赖、构建配置等信息。在这个文件中,我们可以看到项目所依赖的各种库和框架,以及它们的版本号。例如,在创建项目时添加的spring - boot - starter - web依赖,就会在pom.xml文件中体现出来:
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
除了依赖管理,pom.xml文件还可以配置项目的构建插件、打包方式等。例如,通过配置spring - boot - maven - plugin插件,我们可以将 Spring Boot 应用打包成一个可执行的 JAR 文件:
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
</plugins>
</build>
3.3 主类详解
在src/main/java/com/example/myfirstspringbootapp目录下,有一个名为MyFirstSpringBootAppApplication.java的文件,它是 Spring Boot 应用的主类,代码如下:
package com.example.myfirstspringbootapp;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
@SpringBootApplication
public class MyFirstSpringBootAppApplication {
public static void main(String[] args) {
SpringApplication.run(MyFirstSpringBootAppApplication.class, args);
}
}
- @SpringBootApplication 注解:这是 Spring Boot 中最重要的注解之一,它是一个复合注解,包含了@SpringBootConfiguration、@EnableAutoConfiguration和@ComponentScan三个注解的功能。
- @SpringBootConfiguration:该注解表示这个类是一个 Spring 配置类,它实际上是@Configuration的特殊形式,用于定义配置类。在 Spring 中,@Configuration类使用@Bean注解来定义和初始化对象,这些对象随后会被 Spring 容器管理。@SpringBootConfiguration不仅声明了当前类是一个配置类,还使得该类能够使用 Spring Boot 特有的自动配置功能。
- @EnableAutoConfiguration:这个注解是 Spring Boot 的核心特性之一,它会根据项目中添加的 jar 依赖自动配置 Spring 应用。Spring Boot 内部维护了一个条件注解的列表,当这些条件满足时,自动配置就会生效。例如,如果检测到 classpath 中有 H2 数据库驱动,Spring Boot 就会自动配置一个嵌入式 H2 数据库。@EnableAutoConfiguration注解内部还包含了@AutoConfigurationPackage,这个注解的作用是帮助 Spring Boot 找到主配置类所在的包,进而找到当前项目中有哪些配置类,并将它们返回给 Spring 容器。
- @ComponentScan:这个注解用于启用组件扫描。当@ComponentScan注解被使用时,Spring Boot 会自动扫描当前包及其子包下的所有组件(如使用@Component、@Service、@Repository、@Controller等注解的类),并将这些组件注册为 Spring 应用上下文中的 bean。通过这种方式,开发者无需显式地在配置类中定义每一个 bean,Spring Boot 会自动发现并管理这些 bean。
- main 方法:这是 Java 应用的入口方法,在 Spring Boot 应用中,通过调用SpringApplication.run(MyFirstSpringBootAppApplication.class, args)方法来启动 Spring Boot 应用。SpringApplication类是 Spring Boot 的核心类之一,它负责引导和启动 Spring 应用上下文。在启动过程中,它会加载应用的配置信息,创建 Spring 容器,并将所有被扫描到的组件注册到容器中,然后启动嵌入式服务器(如果是 Web 应用),使应用可以对外提供服务。
3.4 编写第一个控制器
接下来,我们编写一个简单的控制器,用于处理 HTTP 请求并返回响应。在src/main/java/com/example/myfirstspringbootapp目录下,创建一个名为controller的包,然后在这个包中创建一个名为HelloController.java的文件,代码如下:
package com.example.myfirstspringbootapp.controller;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RestController;
@RestController
public class HelloController {
@GetMapping("/hello")
public String hello() {
return "Hello, Spring Boot!";
}
}
- @RestController 注解:这是一个组合注解,它相当于@Controller和@ResponseBody的结合。@Controller注解用于标识一个类是 Spring MVC 中的控制器,负责处理 HTTP 请求。@ResponseBody注解用于将方法返回的对象直接作为 HTTP 响应的主体,而不是将其解析为视图名称。因此,@RestController注解的作用是将控制器方法返回的对象直接以 JSON、XML 或其他媒体类型的格式返回给客户端,适用于开发 RESTful 风格的 Web 服务。
- @GetMapping 注解:这是一个组合注解,是@RequestMapping(method = RequestMethod.GET)的缩写,用于映射 HTTP GET 请求。在上面的代码中,@GetMapping("/hello")表示当客户端发送一个 HTTP GET 请求到/hello路径时,会调用hello方法来处理这个请求。hello方法返回一个字符串 “Hello, Spring Boot!”,这个字符串会作为 HTTP 响应的主体返回给客户端。
3.5 运行应用
完成上述代码编写后,我们就可以运行 Spring Boot 应用了。在 IntelliJ IDEA 中,运行应用非常简单,只需要在MyFirstSpringBootAppApplication类的main方法处,点击左侧的绿色三角形运行按钮,或者使用快捷键Shift + F10(Windows/Linux)、Control + R(Mac)。
运行成功后,我们可以在控制台看到类似以下的输出信息:
. ____ _ __ _ _
/\\ / ___'_ __ _ _(_)_ __ __ _ \ \ \ \
( ( )\___ | '_ | '_| | '_ \/ _` | \ \ \ \
\\/ ___)| |_)| | | | | || (_| | ) ) ) )
' |____|.__|_| |_|_| |_\__, | / / / /
=========|_|==============|___/=/_/_/_/
:: Spring Boot :: (v2.7.5)
2023-10-05 16:23:10.347 INFO 12345 --- [ main] c.e.m.MyFirstSpringBootAppApplication : Starting MyFirstSpringBootAppApplication using Java 1.8.0_301 on your - computer - name with PID 12345 (D:\my - first - spring - boot - app\target\classes started by your - username in D:\my - first - spring - boot - app)
2023-10-05 16:23:10.350 INFO 12345 --- [ main] c.e.m.MyFirstSpringBootAppApplication : No active profile set, falling back to 1 default profile: "default"
2023-10-05 16:23:11.384 INFO 12345 --- [ main] o.s.b.w.embedded.tomcat.TomcatWebServer : Tomcat initialized with port(s): 8080 (http)
2023-10-05 16:23:11.400 INFO 12345 --- [ main] o.apache.catalina.core.StandardService : Starting service [Tomcat]
2023-10-05 16:23:11.400 INFO 12345 --- [ main] org.apache.catalina.core.StandardEngine : Starting Servlet engine: [Apache Tomcat/9.0.65]
2023-10-05 16:23:11.503 INFO 12345 --- [ main] o.a.c.c.C.[Tomcat].[localhost].[/] : Initializing Spring embedded WebApplicationContext
2023-10-05 16:23:11.503 INFO 12345 --- [ main] w.s.c.ServletWebServerApplicationContext : Root WebApplicationContext: initialization completed in 1087 ms
2023-10-05 16:23:11.709 INFO 12345 --- [ main] o.s.b.w.embedded.tomcat.TomcatWebServer : Tomcat started on port(s): 8080 (http) with context path ''
2023-10-05 16:23:11.713 INFO 12345 --- [ main] c.e.m.MyFirstSpringBootAppApplication : Started MyFirstSpringBootAppApplication in 2.074 seconds (JVM running for 2.539)
从输出信息中,我们可以看到 Spring Boot 应用启动的过程,包括 Tomcat 服务器的初始化、Spring 应用上下文的加载等。当看到 “Started MyFirstSpringBootAppApplication in 2.074 seconds” 这样的信息时,说明应用已经成功启动。
此时,打开浏览器,访问http://localhost:8080/hello,如果一切正常,你将在浏览器中看到 “Hello, Spring Boot!” 的字样,这表明我们编写的第一个 Spring Boot 应用已经成功运行,并且能够正确处理 HTTP 请求并返回响应。