同 Springboot </跨度> 1.4.4我可以直接使用VelocityEngine作为bean。我使用application.properties进行的配置:
spring.velocity.properties.resource.loader = jar … = org.apache.velocity.runtime.log.SimpleLog4JLogSystemspring.velocity.properties.jar.runtime.log.logsystem.log4j.category =速度spring.velocity.cache =真spring.velocity.charset = UTF-8
在 Springboot </跨度> 1.5.x没有速度支持……
我将按照Jespers的建议使用FreeMarker。
为了回答我的问题,如果有人不能切换技术但想转移到Springboot 1.5.x,这里作为一个简单的解决方案: 属性需要更改,删除 spring.velocity.properties :
resource.loader=jar jar.resource.loader.class=org.apache.velocity.runtime.resource.loader.ClasspathResourceLoader jar.runtime.log.logsystem.class=org.apache.velocity.runtime.log.SimpleLog4JLogSystem jar.runtime.log.logsystem.log4j.category=velocity jar.resource.loader.cache=true input.encoding=UTF-8
添加创建Bean的属性:
@Bean VelocityEngine velocityEngine(){ Properties properties = new Properties(); properties.load(this.getClass().getResourceAsStream("/application.properties")); return new VelocityEngine(properties); }
一个重要的缺点是,使用该解决方案,您无法在不更改Velocity引擎的情况下更改属性文件名。因此它消除了Springboot的一些灵活性。