【发布时间】: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,除非您非常确定自己在做什么。否则,您将在各种请求处理线程之间的竞争条件下获得很多乐趣。