【问题标题】:How to disable Spring Boot's autoconfiguration for Apache Velocity?如何禁用 Spring Boot 的 Apache Velocity 自动配置?
【发布时间】:2014-11-26 11:20:06
【问题描述】:

我正在尝试使用 Spring Boot (1.1.9.RELEASE) 和 Apache Velocity (1.7),目的是使用 Velocity 作为生成电子邮件的模板工具。我正在将 Thymeleaf (2.1.3.RELEASE) 用于 Web 模板。

Spring Boot 的自动配置在启动期间检测类路径上的 Velocity,并将其添加为 Web 视图解析器。虽然这很棒,但这不是我想要的,所以我尝试了

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

但是一旦应用程序启动,我仍然得到一个velocityViewResolver bean。

知道如何禁用此自动配置吗?

提前感谢您的任何回复。

【问题讨论】:

  • 应该可以。如果你想要速度配置而不是视图解析器,你可以定义你自己的名为“velocityViewResolver”的bean(我很确定它在用户指南中这么说)。
  • 我在 1.1.9 中遇到了类似的情况。除了排除之外,我还添加了spring.velocity.checkTemplateLocation=false,它似乎不再抱怨找不到 index.vm。这可能已在我正在测试的 1.2 (RC) 中得到解决,因为我看到 exclude 本身就可以解决问题。
  • 感谢两位确认我没有找错树 :)
  • 是否可以只禁用 WebappResourceLoader ?我有一个适用于 JSP 的“常规”视图解析器,它可以工作,并且我需要 Velocity 来处理电子邮件,因此我只想禁用 Velocity 来寻找网络资源。

标签: spring-boot velocity


【解决方案1】:

在 Spring Boot 1.2.5 中,禁用主应用程序类的自动配置似乎就足够了:

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

编辑 我不知道从什么时候开始起作用,但现在(Spring Boot 1.3.2)你也可以设置:

spring.velocity.enabled=false

在 application.properties 中。

【讨论】:

    猜你喜欢
    • 2017-05-12
    • 1970-01-01
    • 2016-02-12
    • 2015-04-29
    • 1970-01-01
    • 1970-01-01
    • 2022-01-21
    • 2017-01-16
    • 2016-01-21
    相关资源
    最近更新 更多