-1

我们的应用程序包含 struts 和 spring。Struts 动作类也在 applicationContext.xml 中配置为 spring bean。Spring 类引用使用“属性”连接到动作类。

例如,

应用程序上下文.xml

<bean id="sampleAction" class="com.arizona.sample.action.SampleAction">
    <property name="sampleManager" ref="sampleManager" />
</bean>

在 SampleAction 中,我必须编写一个使用“sampleManager”引用的静态方法。因此,我已将“sampleManager”配置为静态变量。在运行时,我在使用“sampleManager”的地方得到了一个 NullPointerExcpetion。我的结论是“sampleManager”没有被初始化。

任何人都可以在这方面帮助我吗?

PS:我提供了 setSampleManager(..) 并尝试使用 @Autowired。

4

1 回答 1

0

如果您发现自己试图从静态上下文(方法)与固有的非静态对象(sampleManager)进行交互,那么您的设计存在一些根本缺陷。返回并重构您的解决方案以采用正确的 OO 设计,不要试图用一些丑陋的 hack 来修复它。

于 2012-10-30T11:33:39.183 回答