0

XMLファイルをレンダリングするSpringのAbstractExcelViewクラスを拡張するクラスがあります。このクラス内で、使用する 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 シートへのハンドルがないことを示すメソッド。推奨事項はありますか?

4

1 に答える 1

0

したがって、ReportExcelViewはおそらく現在このようになっています。必ず@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>
于 2013-01-22T21:58:08.497 に答える