我试图在网络应用程序中使用Freemarker进行电子邮件模板化。
我已声明FreeMarkerConfigurationFactoryBean如下:
@Bean
public FreeMarkerConfigurationFactoryBean freeMarkerConfigurationFactoryBean(EmailTemplateService templateService) {
FreeMarkerConfigurationFactoryBean configurationFactoryBean = new FreeMarkerConfigurationFactoryBean();
configurationFactoryBean.setPreTemplateLoaders(templateService);
return configurationFactoryBean;
}
在运行我的JUnit时,一切运行良好,但在我的webapp中运行时,我的bean是"覆盖"通过春季启动FreeMarkerAutoConfiguration。
我试过:
但没有成功。有什么想法吗?
谢谢你们。
答案 0 :(得分:0)
由于您的应用程序是一个Web应用程序,它是您感兴趣的Spring Boot FreeMarkerWebConfiguration
。它不使用FreeMarkerConfigurationFactoryBean
但是一个FreeMarkerConfigurer
。您应该创建一个FreeMarkerConfigurer
bean并根据需要进行配置。例如:
@Bean
public FreeMarkerConfigurer freeMarkerConfigurer(EmailTemplateService templateService) {
FreeMarkerConfigurer configurer = new FreeMarkerConfigurer();
configurer.setPreTemplateLoaders(templateService);
return configurer;
}