小编典典

如果使用Spring Boot将Web应用开发为War,为什么需要主要方法?

spring-boot

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

我注意到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);
    }

}

阅读 267

收藏
2020-05-30

共1个答案

小编典典

在进行战争并将其放置在Tomcat的webapps文件夹中的典型部署方案中,不需要主要方法。所有你需要的是:

public class Application extends SpringBootServletInitializer {

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

但是,如果您希望能够在IDE内(例如,使用Eclipse的Run As-> Java应用程序)在IDE中启动应用程序,而仅通过命令即可在Spring
Boot的嵌入式tomcat上独立运行,则可以开发或构建可执行jar或warjava -jar myapp.war,具有main方法的入口点类可能会有所帮助。

2020-05-30