繁体   English   中英

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

[英]Different approaches to build basic web app with spring boot?

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

  1. 这篇文章
    • 成为主班
      • 使用@SpringBootApplication
      • extends SpringBootServletInitializer
      • main()调用SpringApplication.run() main()
    • 最后创建@Controller和JSP页面
  2. 文章确实与上述基本相同,但不使其主呼叫extends SpringBootServletInitializer
  3. 文章也是一样的第一个,用它使得它的主类唯一的区别implements CommandLineRunner

我的问题:

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

方法正确吗?

是。

它们之间有什么区别?

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

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

#3使用CommandLineRunner其演示所需的测试数据。

extends SpringBootServletInitializer了文章1中的extends SpringBootServletInitializer不必要?

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

我读到CommandLineRunner是构建非Web应用程序所必需的。 那么第3条中的示例如何工作?

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

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

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM