簡體   English   中英

Spring 3 bean未正確接線

[英]Spring 3 bean is not being wired correctly

我有一個Web控制器,我可以在controller-config.xml中使用

<mvc:annotation-driven />
<context:annotation-config />
<context:component-scan base-package="com.ecommerce.web.controller" />

控制器具有@Controller注釋,如下所示。

@Controller
public class HomeController

我已經在依賴項上包括了@Autowired批注,但是當我第一次啟動該應用程序時,我無法在有線對象上設置任何屬性。

例如,我有一個storeProfile對象,該對象在調試模式下會看到應設置的多個屬性。 但是,當我嘗試在@Autowried bean上設置storeProfile屬性之一時,它仍然為null或為空字符串!

如果查看附件中的圖像,則表明在我跳過此行this.storeProfileContext.setStoreProfile(storeProf ile)之后,調試器仍將storeProfile屬性顯示為null

實際上,有一些依賴關系看起來像是它們創建的(它們不是null和應用程序功能),但是我無法在這些對象上設置任何東西。

我也在Spring論壇上問了同樣的問題-希望弄清楚這個問題。

非常感謝!

調試器屏幕截圖

Bean配置

這是因為您正在查看代理的字段,該字段是在具有<aop:scoped-proxy/> ,如果調用getter作為設置值,則應該看到從代理對象檢索到的正確值。

您正在檢查的實例是CGLIB代理。

CGLIB將您的bean子類化,將所有方法調用委托給目標bean。

因此,超類的字段仍然存在但未被使用。

暫無
暫無

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

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