私は最初のSpringプロジェクトで作業していましたが、厄介な問題に遭遇しました。@Autowiredによって設定されたオブジェクトは、常にnull、その他はOKです。
<bean id="usernameService" class="service.UsernameService" scope="session" >
<aop:scoped-proxy />
</bean>
と、このBeanが(私のクラスのいずれかで作成されたBean定義:)
を:私はディスパッチャ-servlet.xmlでBeanとして構成された「UsernameService」と呼ばれるクラスを持っていますなど
<bean id="testController" class="controller.TestController" />
:
@Autowired
UsernameService uns;
それは絶対に正常に動作します。私がしようとすると別のクラス、LogControllerで同じことを行うときしかし、:
<bean id="logController" class="controller.LogController" />
それが動作しない、と私は次のエラーを取得:私が管理している
SEVERE: Servlet.service() for servlet [dispatcher] in context with path [/flexitime] threw exception [Request processing failed; nested exception is java.lang.NullPointerException] with root cause java.lang.NullPointerException
(私は信じているが)このエラーは、unsが実際に設定/作成されることはなく、LogController内ではnullのままであるという事実に帰されます。
私はこれを広範囲に調査し、多くの「解決策」を見つけましたが、まだ誰も働いていません。
ありがとうございます! ジェームズ
LogControllerにアクセスする方法。 @RequestMappingのメソッドがありますが、これはWebリクエストに応答して呼び出されますか、コードのどこかで新しいLogControllerを実行していますか? – gkamal
注射が機能するために 'new'によってオブジェクトを作成することはできません。 –
@gkamal LogControllerは別のコントローラからアクセスされ、それ自体は自動バインドされたBeanです: '@Autowired(new line)LogController ls'。私はクラスを初期化するために新しいキーワードを使用していません。 – ymhr