我有一个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论坛上问了同样的问题-希望弄清楚这个问题。

非常感谢!

最佳答案

这是因为您正在查看具有<aop:scoped-proxy/>时创建的代理的字段,如果调用getter获取设置值,则应该看到从代理对象检索到的正确值。

10-05 23:11