我有一个类,它扩展了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工作表句柄的方法。有什么建议吗?
答案 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>