2012-10-21 55 views
0

我按照http://www.mkyong.com/jsf2/jsf-2-0-spring-integration-example/的指導實現了Spring + JSF應用程序,但我使用的是最新的Spring版本(即3.x,它已經包含JSR 330實現,根據文檔,所以這不應該是一個問題)和我自己的類,這是與上述例子的區別。如何從JSR 330中刪除NullPointerException Spring應用程序

我被NullPointerException卡住了,表明bean(充當JSF管理的bean)沒有收到注入的Spring bean實例。所有的bean使用在合適的地方(@Named@Inject)和豆類的接口和變量(下@Inject註釋)JSR 330個註解按照通常的命名模式...

所以 - 如何調試這種情況。例如。有沒有辦法看到Spring應用程序上下文中的所有bean。例如。所以我們可以確定Spring上下文沒有被正確初始化。也許有其他方法如何看看應用程序中發生了什麼(調試注入)?

回答

0

Spring支持依賴注入的JSR 330註釋,前提是你的類路徑中有相關的jar包。

您需要將以下jar添加到您的應用程序。

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

,你可能通過啓用日誌記錄org.springframework

只需添加log4j的罐子並丟棄這個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 

參見:

文檔

相關問題