gpt4 book ai didi

java - 使用 Spring Boot 构建基本 Web 应用程序的不同方法?

转载 作者:行者123 更新时间:2023-12-01 19:45:22 25 4
gpt4 key购买 nike

我试图了解如何使用 Spring Boot 构建“基本”Web 应用程序。我在网上找到了不同的文章以各种不同的方式做到这一点:

  1. This文章
    • 使其成为主类
      • 使用@SpringBootApplication
      • 扩展 SpringBootServletInitializer
      • 在其 main() 中调用 SpringApplication.run()
    • 最终创建了@Controller和JSP页面
  2. This文章的作用与上面几乎相同,但没有进行主要调用 extends SpringBootServletInitializer
  3. This文章也与第一篇相同,唯一的区别是它使其主类实现CommandLineRunner

我的问题:

  1. 方法正确吗?
  2. 它们之间有什么区别?
  3. 第 1 条中的扩展 SpringBootServletInitializer 是否不必要?
  4. 我读到构建非 Web 应用程序需要 CommandLineRunner。那么第 3 条中的示例是如何工作的呢?

最佳答案

Are approaches correct?

是的。

What is difference between them?

#1 扩展了 SpringBootServletInitializer,因此 Web 应用程序可以作为 .war 文件部署到独立的 servlet 容器中,而不是使用以下命令从命令行运行它嵌入式 servlet 容器。

#2 演示不需要该可选功能。

#3 使用 CommandLineRunner 为其演示所需的测试数据提供种子。

extends SpringBootServletInitializer in article 1 unnecessary?

是的。仅当您希望能够部署为 .war 文件时才需要。

I read CommandLineRunner is required to build non web apps. Then how example in article 3 works?

非网络应用程序可能需要它,但这并不意味着它对于网络应用程序无效。

非 Web 应用程序(可能)需要它作为运行主要非 Web 应用程序逻辑的入口点。

Web 应用程序不需要它,除非它们需要额外的初始化逻辑,因为嵌入式 servlet 容器是由 SpringApplication.run() 自动启动的。

关于java - 使用 Spring Boot 构建基本 Web 应用程序的不同方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53566543/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com