我正在尝试设置 Velocity 模板引擎以与 spring-mvc 一起使用。 我的项目目前仅使用基于java的spring配置。
我在设置 VelocityConfigurer
时遇到问题。
根据 Spring 文档,我应该创建 bean,如下所示:
<bean id="velocityConfig" class="org.springframework.web.servlet.view.velocity.VelocityConfigurer">
<property name="resourceLoaderPath" value="/WEB-INF/velocity/"/>
</bean>
我目前有以下相关配置,但似乎找不到注入(inject)“resourceLoaderPath”属性的方法。 VelocityConfigurer
类没有相应的 setter 或构造函数。
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.web.servlet.view.velocity.VelocityConfigurer;
@Configuration
public class AppConfig {
@Bean
public VelocityConfigurer velocityConfig() {
VelocityConfigurer velocityConfigurer = new VelocityConfigurer();
return velocityConfigurer;
}
}
有什么想法可以避免这里基于 .xml 的配置吗?
最佳答案
根据 javadoc VelocityConfigurer有一个 resourceLoaderPath 的 setter 。 setter继承自VelocityEngineFactory .
所以应该可以设置它:
@Bean
public VelocityConfigurer velocityConfig() {
VelocityConfigurer velocityConfigurer = new VelocityConfigurer();
velocityConfigurer.setResourceLoaderPath("/WEB-INF/velocity/");
return velocityConfigurer;
}
关于java - 在基于 java 的配置中设置 Bean 属性,无需构造函数或 setter,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20728602/