spring - 如果我使用 Spring Boot 将 web 应用程序开发为 war ,为什么我需要 main 方法?

标签 spring spring-mvc spring-boot

我正在使用 Spring Boot 开发 Web 应用程序。我的典型部署是生成 war 并将其放在 Tomcat 目录下的 webapps 文件夹中。

我注意到 SpringBoot ,我需要一个 main 方法。我想知道为什么需要这样做。如果有办法避免它,那会是什么?

@SpringBootApplication
public class Application extends SpringBootServletInitializer {

    @Override
    protected SpringApplicationBuilder configure(SpringApplicationBuilder application) {
        return application.sources(Application.class);
    }

    public static void main(String[] args) throws Exception {
        SpringApplication.run(Application.class, args);
    }

}

最佳答案

典型部署场景构建war并放置在Tomcat的webapps文件夹中,不需要main方法。您只需要:

public class Application extends SpringBootServletInitializer {

    @Override
    protected SpringApplicationBuilder configure(SpringApplicationBuilder application) {
        return application.sources(Application.class);
    }
} 

但是,如果您希望能够在开发时从 IDE 中启动应用程序(例如,使用 Eclipse 的运行方式 -> Java 应用程序)或 build an executable jar or a war可以通过 java -jar myapp.war 命令与 Spring Boot 的嵌入式 tomcat 独立运行,带有 main 方法的入口点类可能会有所帮助。

关于spring - 如果我使用 Spring Boot 将 web 应用程序开发为 war ,为什么我需要 main 方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29782148/

相关文章:

jquery - Servlet 在新窗口中打开 PDF

java - 报告了 Spring 误报循环依赖

jquery - spring mvc中使用@PathVariable时ajax不起作用

java - 创建简单的 Spring AOP 时出现异常抛出建议演示

java - Spring重载构造函数注入(inject)

java - Spring Configuration 类放置最佳实践

java - 未找到当前线程 : Spring 3 and Hibernate 4 (Using @PostConstruct annotation) 的 session

java - 如何从Spring云流kafka中的ErrorMessage中的有效负载获取failedMessage?

java - 如何对非实体的对象进行分页?

spring - Spring Boot 安全中的 HTTP 403 禁止错误