注释Spring视图类

时间:2013-01-22 21:39:27

标签: java spring view annotations

我有一个类,它扩展了Spring的AbstractExcelView类,它呈现了一个XML文件。在这个类中,我正在注入我的Service bean以供使用。我是自动装配和组件扫描我的类,我也想对这个视图类做同样的事情,但我不清楚如何(或者是否可以完成)。这是我试图从配置中注释的内容:

<bean id="export.xls" class="com.my.views.ReportExcelView">
<property name="url">
    <value>/excel/template</value>
</property>
<property name="service" ref="testingService"/>

我可以使用@Component注释类,使用@Autowired注释服务,但我不知道注释URL的策略。我真正想做的是在buildExcelWorkbook()调用中调整它(基于请求中的某些内容),但是在此之前似乎已经完成了一些初始化,因为我在尝试使用我的excel模板时遇到错误表示它没有Excel工作表句柄的方法。有什么建议吗?

1 个答案:

答案 0 :(得分:0)

所以你的ReportExcelView现在可能看起来像这样。确保使用@Resource连接一个简单的String。

package com.ex.springbasicex.view;
@Component
public class ReportExcelView{
    @Resource(name="myUrl")
    String url;

    @Autowired
    Service service;

    public String getUrl() {
        return url;
    }

    public void setUrl(String url) {
        this.url = url;
    }
}

您的上下文配置可能应该与使用扫描的内容类似。下面是如何设置myUrl String资源。

<context:component-scan base-package="com.ex.springbasicex.view"  />
<bean id="myUrl" class="java.lang.String" >
    <constructor-arg>
        <value>/excel/template</value>
    </constructor-arg>
</bean>