Spring Beginner - 没有这样的字段错误

时间:2014-08-18 09:03:54

标签: spring

我是春天新手。我正在使用spring开发一个示例项目。当我在Beans.xml中提供值时,我收到以下异常。请提供解决方案。

beans.xml中:

<beans xmlns="http://www.springframework.org/schema/beans"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://www.springframework.org/schema/beans
    http://www.springframework.org/schema/beans/spring-beans-3.0.xsd">

   <bean id="helloWorld" class="com.dhr.spring.beans.HelloWorld">
       <property  name="message"  value="d" />
   </bean>

</beans>

HelloWorld.java:

public class HelloWorld {
     private String message;

       public void setMessage(String message){
          this.message  = message;
       }

       public void getMessage(){
          System.out.println("Your Message : " + message);
       }
}

MainApp:

 public class MainApp {
     public static void main(String[] args) {
          ApplicationContext context = 
                 new ClassPathXmlApplicationContext("Beans.xml");

          HelloWorld obj = (HelloWorld) context.getBean("helloWorld");

          obj.getMessage();
       }
}

例外:

Caused by: java.lang.NoSuchFieldError: NULL
    at org.springframework.expression.TypedValue.<clinit>(TypedValue.java:31)
    at org.springframework.expression.spel.support.StandardEvaluationContext.setRootObject(StandardEvaluationContext.java:85)
    at org.springframework.expression.spel.support.StandardEvaluationContext.<init>(StandardEvaluationContext.java:74)
    at org.springframework.context.expression.StandardBeanExpressionResolver.evaluate(StandardBeanExpressionResolver.java:124)
    at org.springframework.beans.factory.support.AbstractBeanFactory.evaluateBeanDefinitionString(AbstractBeanFactory.java:1299)
    at org.springframework.beans.factory.support.BeanDefinitionValueResolver.evaluate(BeanDefinitionValueResolver.java:210)
    at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveValueIfNecessary(BeanDefinitionValueResolver.java:182)
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.applyPropertyValues(AbstractAutowireCapableBeanFactory.java:1360)
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.populateBean(AbstractAutowireCapableBeanFactory.java:1118)
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:517)
    ... 11 more

1 个答案:

答案 0 :(得分:1)

欢迎!对于暧昧的春天世界!堆栈跟踪很长并且文档 short 错综复杂。

我已多次看到此错误,至少在我看来,它通常与依赖项不一致有关。

我看到你刚刚发布的你没有使用Maven。我几乎可以向你保证这就是问题所在。你真的应该使用Maven。它将为您节省的工作量是巨大的。

编辑:使这篇文章更像答案:由于依赖项不一致,您收到错误。您是手动将Spring JAR文件放入依赖关系树中,这是不推荐的。 1)使用Maven处理依赖关系管理(推荐)或2)确保所有JAR文件都使用非冲突和连贯的依赖关系树。

例如,您使用的org.springframework.expression-3.0.3.RELEASE不属于3.1.x组。因此,将jar文件替换为org.springframework.expression-3.1.0-RELEASE