0

http://www.mkyong.com/jsf2/jsf-2-0-spring-integration-example/のガイドラインに従ってSpring + JSFアプリケーションを実装していますが、最新のSpringバージョン(つまり、3.x、それドキュメントによると、すでに JSR 330 実装が含まれているため、これは問題にならないはずです) と私自身のクラスです。これが、前述の例との違いです。

これはNullPointerException、Bean (JSF 管理として機能する) Bean が Spring Bean のインスタンスの注入を受けていないことを示しています。@Namedすべての Bean は適切な場所 ( 、 )で JSR 330 アノテーションを使用し、@InjectBean のインターフェースと変数 (@Injectアノテーションの下) は通常の命名パターンに従います...

だから - この状況をデバッグする方法。たとえば、Spring アプリケーション コンテキストに含まれるすべての Bean を確認する方法はあります。たとえば、Spring コンテキストが適切に初期化されていないことを判断できます。アプリで何が起こっているかを確認する方法が他にあるかもしれません(デバッグインジェクション)?

4

1 に答える 1

0

クラスパスに関連する jar がある場合、Spring は依存性注入の JSR 330 アノテーションをサポートします。

次の jar をアプリケーションに追加する必要があります。

<dependency>
  <groupId>javax.inject</groupId>
  <artifactId>javax.inject</artifactId>
  <version>1</version>
</dependency>

また、org.springframework のロギングを有効にすると、良い情報が得られる場合があります。

log4j jar を追加して、この log4j.properties ファイルをクラスパスのルートにドロップするだけです。

Log4j.properties:

log4j.rootCategory=INFO, stdout
log4j.appender.stdout=org.apache.log4j.ConsoleAppender
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
log4j.appender.stdout.layout.ConversionPattern=%d{ISO8601} %-5p %c %M - %m\n

log4j.category.org.springframework=DEBUG

以下も参照してください。

ドキュメンテーション

于 2012-10-21T17:41:39.740 に答える