2014-11-26 20 views
8

Sto sperimentando Spring Boot (1.1.9.RELEASE) e Apache Velocity (1.7) con l'intenzione di usare Velocity come strumento per la creazione di e-mail. Sto usando Thymeleaf (2.1.3.RELEASE) per i modelli web.Come disabilitare l'autoconfigurazione di Spring Boot per Apache Velocity?

L'autoconfigurazione di Spring Boot rileva Velocity sul classpath durante l'avvio e lo aggiunge come risolutore di visualizzazione Web. Anche se questo è brillante, non è quello che voglio così ho provato

@EnableAutoConfiguration(exclude = {VelocityAutoConfiguration.class}) 
public class Application { 

ma ho ancora finito con un chicco di velocityViewResolver una volta che la richiesta era avviato.

Qualche idea su come potrei andare a disattivare questa configurazione automatica?

Grazie in anticipo per eventuali risposte.

+1

Questo dovrebbe farlo. Se vuoi la configurazione di velocity ma non il risolutore di viste puoi semplicemente definire il tuo bean chiamato "velocityViewResolver" (sono sicuro che lo indichi nella guida utente). –

+0

Ho sperimentato qualcosa sulla stessa linea con 1.1.9. Oltre all'esclusione ho aggiunto '' 'spring.velocity.checkTemplateLocation = false''' e sembrava che non si lamentasse di non aver trovato index.vm. Questo potrebbe essere stato affrontato in 1.2 (RC) che sto testando ora come vedo l'esclusione fa il trucco per conto proprio. – hoserdude

+0

Grazie per aver confermato che non stavo abbaiando dall'albero sbagliato :) –

risposta

8

Con Primavera Boot 1.2.5, disabilitando la configurazione automatica sulla classe di applicazione principale sembra essere sufficiente:

@SpringBootApplication 
@EnableAutoConfiguration(exclude = { VelocityAutoConfiguration.class }) 

Edit io non so esattamente da quando funziona, ma ora (primavera Boot 1.3.2) è anche possibile impostare:

spring.velocity.enabled=false 

in application.properties.