提问人:mattsmith5 提问时间:11/8/2023 最后编辑:mattsmith5 更新时间:11/8/2023 访问量:51
IntelliJ 如何在没有 Tomcat 的情况下在本地运行 API?
How does IntelliJ Run APIs Locally without Tomcat?
问:
当我在 IntelliJ 中本地运行 Spring Boot Java 示例应用程序时,它如何在 Localhost 中运行 API,例如 8080(GET、POST 等)?我的桌面上甚至没有安装 Tomcat。尝试了解“运行应用程序”部署的内部结构。
更新:我一直在阅读“嵌入式 Tomcat”,但是当我在谷歌上搜索它时,我没有得到一个明确的定义这意味着什么,以及它与普通 Tomcat 有何不同。
答:
5赞
Thomas Kläger
11/8/2023
#1
“常规 Tomcat”意味着您启动了 Tomcat 引导程序,而 Tomcat 引导程序又加载了主要的 Tomcat 类,配置 Tomcat 实例并启动了连接侦听器。
“嵌入式 Tomcat”意味着您启动不同的应用程序(Spring Boot 或其他应用程序),该应用程序加载 Tomcat 类、配置 Tomcat 实例并启动连接侦听器。
来自 Tomcat 文档:
[...]有几种不同的方法可以启动 tomcat,包括:
- 从命令行。
- 从作为嵌入式服务器的 Java 程序。
- 自动作为 Windows 服务。
最后,配置和运行 Tomcat 实例是创建一些 Java 对象,在它们上设置属性并在它们上执行一些方法。Tomcat 是根据某些配置文件为您分类,还是根据某些 Spring Boot 配置为您执行此操作,都没有区别。
评论
0赞
David Conrad
11/8/2023
“如果 Tomcat 类为你做这件事......”
1赞
nitind
11/8/2023
#2
简而言之,运行 Spring Boot 应用程序就是它的工作方式。Spring Boot 框架正在管理实例化 servlet 容器(默认情况下是 Tomcat 的嵌入式版本)的详细信息,并为您将传入的请求路由到您的类。它不是它唯一可以使用的 servlet 容器,但大多数时候你不会关心这个细节。这就是重点。
评论