【问题标题】:Setting Bean properties in java based config without constructor or setter在基于 java 的配置中设置 Bean 属性,无需构造函数或设置器
【发布时间】:2013-12-22 10:53:42
【问题描述】:

我正在尝试设置 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>

我目前有以下相关配置,但似乎找不到注入“resourceLoaderPath”属性的方法。 VelocityConfigurer类没有对应的setter或constructor。

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 的配置吗?

【问题讨论】:

    标签: java spring spring-mvc velocity


    【解决方案1】:

    根据 javadoc,VelocityConfigurer 有一个用于 resourceLoaderPath 的设置器。 setter 继承自 VelocityEngineFactory

    所以应该可以设置:

    @Bean
    public VelocityConfigurer velocityConfig() {
        VelocityConfigurer velocityConfigurer = new VelocityConfigurer();
        velocityConfigurer.setResourceLoaderPath("/WEB-INF/velocity/");
        return velocityConfigurer;
    }
    

    【讨论】:

    • 谢谢。我一定是瞎了。 :(
    猜你喜欢
    • 1970-01-01
    • 2018-09-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-02-08
    • 1970-01-01
    • 2023-03-21
    相关资源
    最近更新 更多