簡體   English   中英

Spring請求范圍的Bean-所有字段為空/空

[英]Spring request-scoped bean - all fields null/empty

我正在用兩個請求范圍的bean創建一個類。 Bean類帶有以下注釋:

@Component
@Scope(value = "request", proxyMode = ScopedProxyMode.TARGET_CLASS)
public class RequestScopedBean1 {
  // stuff
}

他們在我班級的字段聲明是:

@Resource
private RequestScopedBean1 requestScopedBean1

@Resource
private RequestScopedBean2 requestScopedBean2

該系統已在我正在使用的所有代碼庫中使用,沒有任何問題。 但是,在我的課堂上,一個注入的bean(不是兩個,只有一個!)的所有字段均為null / empty。

我知道在調試模式下僅查看請求范圍的Bean的字段通常會顯示它們都是空的,這是因為Spring用代理來管理此類Bean的方式。 我也知道,出於相同的原因,應該使用getter和setter而不是直接訪問字段。 但是,在intelliJ中使用“評估表達式”功能時,此bean仍然顯示為空/空。

我的班級和每個bean類都在不同的項目中。 工作bean在核心項目中。 損壞的bean位於與核心項目相關的項目中,而我的類位於依賴於破碎bean的項目中的項目。

如果您需要更多信息來幫助我,請告訴我!

編輯我的XML配置文件的簡短描述:

有4個相關項目,可以將其稱為“核心”,“網絡”,“通用”和“特定”。 每個應用程序都有自己對應的application-context.xml。該應用程序是從“特定”項目構建的.war文件中部署的。 在“特定” web.xml的標記中,導入了“ web”和“特定”的應用程序上下文。 “特定的” application-context.xml的第一行為“ common”導入了應用程序上下文,這是我的新類所在的位置。 “ web” application-context.xml的第一行導入“核心” application-context。 工作請求范圍的Bean位於“核心”中; 在“網絡”中壞掉的一個。 我希望這很清楚-如果不告訴我! 其他信息有用嗎?

可能是因為您未嘗試在類中嘗試訪問的setter和getter的訪問說明符(即默認值)。 嘗試將其更改為公開並查看。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM