Java 自动连线字段上的org.springframework.beans.factory.BeanCreationException

Java 自动连线字段上的org.springframework.beans.factory.BeanCreationException,java,xml,spring,Java,Xml,Spring,我正在尝试一个简单的spring框架示例,该示例与依赖项注入和自动连接相关。我面临着一个难以解决的错误。使用了以下jar文件: *commons-logging.jar *org.springframework.asm-3.0.1.RELEASE.jar *org.springframework.beans-3.0.1.RELEASE.jar *org.springframework.context-3.0.1.RELEASE.jar *org.springframework.core-3.0.

我正在尝试一个简单的spring框架示例,该示例与依赖项注入和自动连接相关。我面临着一个难以解决的错误。使用了以下jar文件:

*commons-logging.jar
*org.springframework.asm-3.0.1.RELEASE.jar
*org.springframework.beans-3.0.1.RELEASE.jar
*org.springframework.context-3.0.1.RELEASE.jar
*org.springframework.core-3.0.1.RELEASE.jar
*org.springframework.expression-3.0.1.RELEASE.jar
以下是代码片段:

Engine.java

packagebean;
公共级引擎{
私家车年;
公共引擎(){
}
公共引擎(字符串模型年){
this.modelyear=modelyear;
}
公共字符串getModelyear(){
回归模型年;
}
公共无效setModelyear(字符串modelyear){
this.modelyear=modelyear;
}
}
Car.java

packagebean;
导入org.springframework.beans.factory.annotation.Autowired;
导入org.springframework.beans.factory.annotation.Qualifier;
公车{
@限定符(value=“e1”)
@自动连线
私人发动机;
public void printData(){
System.out.println(“发动机型号年=“+Engine.getModelyear());
}
}
spring.xml

<!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN 2.0//EN"
            "http://www.springframework.org/dtd/spring-beans-2.0.dtd">
<beans>
    <!-- Activate autowire annotation -->
    <bean class="org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor" />

    <bean id="c" class="beans.Car" />   


    <bean id="e1" class="bean.Engine">
        <property name="modelyear" value="2015" />
    </bean>

    <bean id="e2" class="bean.Engine">
        <property name="modelyear" value="2016" />
    </bean>

</beans>
执行上述代码后,我得到如下错误:

线程“main”org.springframework.beans.factory.BeanCreationException中的异常:创建名为“c”的bean时出错:自动连线依赖项的注入失败;嵌套异常为org.springframework.beans.factory.BeanCreationException:无法自动关联字段:beans.Engine beans.Car.Engine;嵌套异常为org.springframework.beans.factory.CannotLoadBeanClassException:找不到类路径资源[resources/spring.xml]中定义的名为“e1”的bean的类[bean.Engine];嵌套异常是java.lang.ClassNotFoundException:bean.Engine 位于org.springframework.beans.factory.annotation.AutoWiredNotationBeanPostProcessor.postProcessPropertyValues(AutoWiredNotationBeanPostProcessor.java:286) 位于org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.populateBean(AbstractAutowireCapableBeanFactory.java:1055) 位于org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:511) 位于org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:450) 位于org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:290) 位于org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:222) 位于org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:287) 位于org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:189) 位于org.springframework.beans.factory.support.DefaultListableBeanFactory.PreInstanceSingleton(DefaultListableBeanFactory.java:562) 位于org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:871) 位于org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:423) 位于org.springframework.context.support.ClassPathXmlApplicationContext。(ClassPathXmlApplicationContext.java:139) 位于org.springframework.context.support.ClassPathXmlApplicationContext。(ClassPathXmlApplicationContext.java:83) 位于test.Client.main(Client.java:11) 原因:org.springframework.beans.factory.BeanCreationException:无法自动关联字段:beans.Engine beans.Car.Engine;嵌套异常为org.springframework.beans.factory.CannotLoadBeanClassException:找不到类路径资源[resources/spring.xml]中定义的名为“e1”的bean的类[bean.Engine];嵌套异常是java.lang.ClassNotFoundException:bean.Engine 位于org.springframework.beans.factory.annotation.AutoWiredNotationBeanPostProcessor$AutoWiredFeldElement.inject(AutoWiredNotationBeanPostProcessor.java:507) 位于org.springframework.beans.factory.annotation.InjectionMetadata.inject(InjectionMetadata.java:84) 位于org.springframework.beans.factory.annotation.AutoWiredNotationBeanPostProcessor.postProcessPropertyValues(AutoWiredNotationBeanPostProcessor.java:283) ... 还有13个 原因:org.springframework.beans.factory.CannotLoadBeanClassException:找不到类路径资源[resources/spring.xml]中定义的名为“e1”的bean的类[bean.Engine];嵌套异常是java.lang.ClassNotFoundException:bean.Engine 位于org.springframework.beans.factory.support.AbstractBeanFactory.resolveBeanClass(AbstractBeanFactory.java:1208) 位于org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.predictBeanType(AbstractAutowireCapableBeanFactory.java:570) 位于org.springframework.beans.factory.support.AbstractBeanFactory.isFactoryBean(AbstractBeanFactory.java:1277) 位于org.springframework.beans.factory.support.DefaultListableBeanFactory.getBeanNamesForType(DefaultListableBeanFactory.java:303) 位于org.springframework.beans.factory.BeanFactoryUtils.beannamesfortypeincluding祖先(BeanFactoryUtils.java:185) 位于org.springframework.beans.factory.support.DefaultListableBeanFactory.FindAuthories(DefaultListableBeanFactory.java:810) 位于org.springframework.beans.factory.support.DefaultListableBeanFactory.doResolveDependency(DefaultListableBeanFactory.java:767) 位于org.springframework.beans.factory.support.DefaultListableBeanFactory.resolveDependency(DefaultListableBeanFactory.java:685) 位于org.springframework.beans.factory.annotation.AutoWiredNotationBeanPostProcessor$AutoWiredFeldElement.inject(AutoWiredNotationBeanPostProcessor.java:478) ... 还有15个 原因:java.lang.ClassNotFoundException:bean.Engine 位于java.net.URLClassLoader.findClass(未知源) 位于java.lang.ClassLoader.loadClass(未知源) 位于sun.misc.Launcher$AppClassLoader.loadClass(未知源) 在java.lang.ClassLoad
<beans xmlns="http://www.springframework.org/schema/beans"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:context="http://www.springframework.org/schema/context"
    xsi:schemaLocation="http://www.springframework.org/schema/beans 
                           http://www.springframework.org/schema/beans/spring-beans.xsd
                           http://www.springframework.org/schema/context 
                           http://www.springframework.org/schema/context/spring-context.xsd">
    <context:annotation-config />

...