我正在使用SpringBootServletInitializer
创建应用程序。我不确定如何以及何时调用configure方法。我在方法中放置了一个print语句来检查它的调用位置。但是,当我运行应用程序时,我找不到打印件。我犯了一个愚蠢的错误,或者我从根本上误解了SpringBootServletInitializer
的工作原理。
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.boot.context.web.SpringBootServletInitializer;
import org.springframework.boot.builder.SpringApplicationBuilder;
import org.springframework.context.annotation.Configuration;
@SpringBootApplication
@Configuration
public class DemoApplication extends SpringBootServletInitializer{
protected SpringApplicationBuilder configure(SpringApplicationBuilder builder) {
builder.sources(DemoApplication.class);
System.out.println("Called configure method");
return builder;
}
public static void main(String[] args) {
SpringApplication.run(DemoApplication.class, args);
}
}
答案 0 :(得分:0)
configure()
方法使用SpringApplicationBuilder
将您的类注册为应用程序的配置类。
如果将应用程序打包为WAR,您将能够以传统方式将其部署在任何Web容器上,这也将执行configure()
方法中添加的逻辑。
如果要将其打包为JAR文件,则需要向main()
方法添加相同的逻辑,以便嵌入式容器也可以将其拾取。