Java 注释Spring视图类

Java 注释Spring视图类,java,spring,view,annotations,Java,Spring,View,Annotations,我有一个类扩展了Spring的AbstractExcelView类,它呈现一个XML文件。在这个类中,我将注入我的服务bean以供使用。我正在对我的类进行自动布线和组件扫描,我也想对这个视图类进行同样的操作,但我不清楚如何(或者是否可以这样做)。以下是我试图从配置中注释的内容: <bean id="export.xls" class="com.my.views.ReportExcelView"> <property name="url"> <value>

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

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

/excel/模板


我可以用@Component注释类,用@Autowired注释服务,但我不知道用什么策略来注释URL。我真正想做的是在buildExcelWorkbook()调用中对其进行条件设置(基于请求中的某些内容),但在此之前似乎进行了一些初始化,因为我尝试将excel模板与此方法一起使用时出错,这表明它没有excel工作表的句柄。有什么建议吗?

所以您的报告ExcelView现在可能是这样的。确保使用@Resource连接简单字符串

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字符串资源

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

/excel/模板

因为字符串url实际上在基类上,所以我只是用@Resource注释了setUrl,它成功了。