【发布时间】:2015-04-12 08:03:09
【问题描述】:
关于从 Spring Boot 应用程序构建战争并在独立 servlet 容器中运行它的一般问题。我的文档似乎与 Stack Overflow 上的示例不一致。
答案here 显示了几个月前我读到的这样做的方式。我读过这个here,但指南似乎已经改变,失去了实际的示例应用程序。
这里的“configure”方法引用主spring boot Application.class。
public class WebInitializer extends SpringBootServletInitializer {
@Override
protected SpringApplicationBuilder configure(SpringApplicationBuilder application) {
return application.sources(Application.class);
}
}
还有这些帖子here 和here 显示了引用 SpringBootServletInitializer 子类本身的“配置”方法。
public class BootStrap extends SpringBootServletInitializer {
public static void main(String[] args) {
SpringApplication.run(BootStrap.class, args);
}
@Override
protected SpringApplicationBuilder configure(
SpringApplicationBuilder application) {
return application.sources(BootStrap.class);
}
}
还有一个main方法。
还有 https://github.com/spring-projects/spring-boot/tree/master/spring-boot-samples 的 spring-boot-sample-traditional 示例应用程序,它显示“WAR 打包” 做的不一样
public class WebConfig extends WebMvcConfigurerAdapter {.........
我想知道在 Spring Boot 中选择这些看似实现相同目标的不同方式是否存在问题?还是它们都同样有效并且可以互换?
【问题讨论】:
标签: spring maven spring-mvc spring-boot war