繁体   English   中英

在没有构造函数或setter的基于java的配置中设置Bean属性

[英]Setting Bean properties in java based config without constructor or setter

我正在尝试设置Velocity模板引擎以与spring-mvc一起使用。 我的项目目前只使用基于java的弹簧配置。

我在设置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或构造函数。

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;
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM