1

我正在创建具有以下属性的 bean

  <property name="classe">
     <value type="java.lang.Class">foo.bar.SomeClass</value>
  </property>

属性“classe”的类型是 Class。

就像有人在以下问题上暗示的那样:Spring syntax for setting a Class object?

问题是我在部署我的应用程序时遇到了这个异常:

java.lang.ClassNotFoundException: java/lang.Class
at weblogic.utils.classloaders.GenericClassLoader.findLocalClass(GenericClassLoader.java:280)
at weblogic.utils.classloaders.GenericClassLoader.findClass(GenericClassLoader.java:253)
at java.lang.ClassLoader.loadClass(ClassLoader.java:307)
at java.lang.ClassLoader.loadClass(ClassLoader.java:248)
at weblogic.utils.classloaders.GenericClassLoader.loadClass(GenericClassLoader.java:177)
at org.springframework.util.ClassUtils.forName(ClassUtils.java:229)
at org.springframework.beans.factory.config.TypedStringValue.resolveTargetType(TypedStringValue.java:154)
at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveTargetType(BeanDefinitionValueResolver.java:196)
at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveValueIfNecessary(BeanDefinitionValueResolver.java:163)

看起来史蒂夫 B. 在我链接的问题中遇到了同样的问题,并且与一些弹簧配置有关。我对春天陌生,真的不知道如何解决这个问题。

提前感谢您的回答。

4

1 回答 1

1

简单地说:

<property name="classe" value="foo.bar.SomeClass"/>

Spring 应该根据属性类型找出正确的classe类型,即java.lang.Class. 我刚刚用 Spring 3.1 成功地测试了它,但我很确定它也适用于 Spring 3.0/2.5.x。

于 2012-02-27T13:19:35.783 回答