【问题标题】:Unable to retrieve the bean value in Hybris无法在 Hybris 中检索 bean 值
【发布时间】:2018-09-07 20:48:10
【问题描述】:

我在 *-spring.xml 文件中定义了以下 bean。

<bean id="userTimeZone"  class= "com.abc.UserTimeZoneHelper">

我已经设置了它的一个变量,如下所示:

@Resource
UserTimeZoneHelper userTimeHelper;

userTimeZoneHelper.setTimeZone("GMT+5");

但是当我尝试访问它的值时,我得到一个空值。

UserTimeZoneHelper userTimeZone = (UserTimeZoneHelper) Registry.getApplicationContext().getBean("userTimeZone");
System.out.println(userTimeZone.getTimeZone());

既然 bean 范围是 Singleton,我应该可以从其他类访问它吧?

【问题讨论】:

  • 您已经定义了 var userTimeHelper,但您正在尝试访问 userTimeZoneHelper,这可能是一个错字。
  • 请分享UserTimeZoneHelper类的实现
  • 请不要使用有状态的单例bean,除非您非常确定自己在做什么。否则,您将在各种请求处理线程之间的竞争条件下获得很多乐趣。

标签: java spring hybris


【解决方案1】:

尝试定义

<alias name="defaultUserTimeZone" alias="userTimeZone"/>
<bean id="defaultUserTimeZone" class="com.abc.UserTimeZoneHelper"/>

像这样访问它

@Resource(name="userTimeZone")
UserTimeZoneHelper userTimeHelper;

userTimeHelper.setTimeZone("GMT+5");

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2013-05-15
    • 2013-08-11
    • 1970-01-01
    • 2018-05-12
    • 1970-01-01
    • 2011-02-25
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多