1

私は最初のSpringプロジェクトに取り組んでいますが、厄介な問題に遭遇しました。

dispatcher-servlet.xmlでBeanとして構成されている「UsernameService」というクラスがあります。

<bean id="usernameService" class="service.UsernameService" scope="session" >
    <aop:scoped-proxy />
</bean>

そして、このBeanが私のクラスの1つで作成されたとき(Beanの定義:)

<bean id="testController" class="controller.TestController" />

そのような:

 @Autowired
UsernameService uns;

それは絶対にうまくいきます。ただし、別のクラスLogControllerで同じことを実行しようとすると、次のようになります。

<bean id="logController" class="controller.LogController" />

その後、それは機能せず、次のエラーが発生します。

重大:パス[/ flexitime]のコンテキストでサーブレット[ディスパッチャー]のServlet.service()が例外をスローしました[リクエスト処理に失敗しました。ネストされた例外はjava.lang.NullPointerException]であり、ルートの原因はjava.lang.NullPointerExceptionです。

私はこのエラーを、unsが実際に設定/作成されることはなく、LogController内でnullのままであるという事実に起因することに成功しました(私は信じています)。

私はこれを広範囲にグーグルで検索し、多くの「解決策」を見つけましたが、まだどれもうまくいきませんでした。

ありがとう!ジェームズ

4

1 に答える 1

0

Bean に属性を追加しauto-wireます。

<bean id="usernameService" class="service.UsernameService" scope="session" autowire="byName">
    <aop:scoped-proxy />
</bean>
于 2012-04-11T18:19:24.010 に答える