Una domanda generale sulla creazione di una guerra da un'applicazione di avvio a molla e l'esecuzione in un contenitore di servlet indipendente. La documentazione che ho sembra sembra in disaccordo con esempi su Stack Overflow.Guerra di avvio Spring Boot in un contenitore servlet indipendente
La risposta here mostra il modo in cui ho letto di farlo un paio di mesi fa. Ho letto questo here, ma la guida sembra essere cambiata perdendo l'app di esempio.
Qui il metodo "configure" fa riferimento al boot spring principale Application.class.
public class WebInitializer extends SpringBootServletInitializer {
@Override
protected SpringApplicationBuilder configure(SpringApplicationBuilder application) {
return application.sources(Application.class);
}
}
ci sono anche questi posti here e here che mostrano il metodo "configura", riferendosi al sub di classe SpringBootServletInitializer stessa.
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);
}
}
e c'è anche un metodo principale.
anche l'esempio app primavera-boot-campione-tradizionale https://github.com/spring-projects/spring-boot/tree/master/spring-boot-samples, che mostra "packaging WAR" fa in modo diverso
public class WebConfig extends WebMvcConfigurerAdapter {.........
mi chiedevo è che ci sono problemi con la scelta di più di questi modi diversi di apparentemente raggiungere la stessa cosa in avvio di primavera? Oppure funzionano tutti allo stesso modo e sono intercambiabili?
grazie per la spiegazione approfondita - molto apprezzato :). Ho finito per scegliere l'approccio "WebInitializer" come lo Spring Initializr menzionato in seguito ha generato che .... – n99
@Andy Wilkinson, tu dici "Se stai solo distribuendo la tua applicazione in un contenitore servlet autonomo, non hai bisogno di un metodo principale." ... ma come si farebbe per farlo? Tutta la letteratura su Spring sembra riguardare Spring Boot, ma nessuno porterà Spring Boot alla produzione. Ad un certo punto nel tempo, verranno distribuiti su un server autonomo, ma non c'è quasi nessuna letteratura per farlo. Qualche consiglio? – Jeach
AFAIK, la maggior parte delle persone esegue Spring Boot in produzione utilizzando un jar eseguibile anziché un server autonomo. Se hai bisogno di usare un server standalone allora entrambi [la documentazione] (http://docs.spring.io/spring-boot/docs/current/reference/htmlsingle/#howto-create-a-deployable-war-file) e questa domanda ti dice come farlo. –