2011-01-04 15 views
0
Bean
<?xml version="1.0" encoding="UTF-8"?> 
<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" 
    xmlns:p="http://www.springframework.org/schema/p" 
    xmlns:tx="http://www.springframework.org/schema/tx" 
    xsi:schemaLocation=" 
    http://www.springframework.org/schema/tx 
    http://www.springframework.org/schema/tx/spring-tx-3.0.xsd 
    http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-2.0.xsd 
    http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.0.xsd 
    http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-3.0.xsd"> 

<!-- Turn on AspectJ @Configurable support --> 

<context:spring-configured /> 
<context:property-placeholder location="classpath*:*.properties" /> 
<context:component-scan base-package="your.intermedix"/> 
<context:annotation-config/> 

<!-- Turn on @Autowired, @PostConstruct etc support --> 
<bean class="org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor" /> 
<bean class="org.springframework.context.annotation.CommonAnnotationBeanPostProcessor" /> 

<bean id="mySessionFactory" class="org.springframework.orm.hibernate3.annotation.AnnotationSessionFactoryBean"> 
     <property name="dataSource" ref="myDataSource" /> 
     <property name="annotatedClasses"> 
      <list> 
       <value>your.intermedix.domain.Contact</value> 
      </list> 
     </property> 
     <property name="hibernateProperties"> 
      <props> 
       <prop key="hibernate.dialect">org.hibernate.dialect.MySQLDialect</prop> 
       <prop key="hibernate.show_sql">true</prop> 
       <prop key="hibernate.hbm2ddl.auto">create</prop> 
      </props> 
     </property> 
    </bean> 

    <bean id="myDataSource" class="org.apache.commons.dbcp.BasicDataSource" destroy-method="close"> 
     <property name="driverClassName" value="com.mysql.jdbc.Driver"/> 
     <property name="url" value="jdbc:mysql://127.0.0.1:3306/spring"/> 
     <property name="username" value="monty"/> 
     <property name="password" value="indian"/> 
    </bean> 

    <tx:annotation-driven transaction-manager="txManager"/> 

    <bean id="txManager" class="org.springframework.orm.hibernate3.HibernateTransactionManager"> 
     <property name="sessionFactory" ref="mySessionFactory" /> 
    </bean> 

     <bean id="fooService" class="your.intermedix.services.ContactSerImpl"/> 

</beans> 

Fehler geworfenSpring: Fehler bei der Erstellung eines

2011-01-04 20:32:46.742:WARN::Failed startup of context [email protected]{/sampleproject,file:/C:/project 
org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'myVaadinApplication': Instantiation of bean failed; neste 
eating bean with name 'your.intermedix.MyVaadinApplication': Autowiring of fields failed; nested exception is org.springframework.beans.factory.B 
your.intermedix.services.IContact] is defined: expected single matching bean but found 2: [contactSerImpl, fooService] 
     at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.instantiateBean(AbstractAutowireCapableBeanFactory.java:9 
     at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBeanInstance(AbstractAutowireCapableBeanFactory.jav 
     at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:514) 
     at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory$1.run(AbstractAutowireCapableBeanFactory.java:485) 
     at java.security.AccessController.doPrivileged(Native Method) 
     at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:455) 
     at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:251) 
     at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:169) 
     at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:248) 
     at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:170) 
     at org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:413) 
     at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:735) 
     at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:369) 
     at org.springframework.web.context.ContextLoader.createWebApplicationContext(ContextLoader.java:251) 
     at org.springframework.web.context.ContextLoader.initWebApplicationContext(ContextLoader.java:190) 
     at org.springframework.web.context.ContextLoaderListener.contextInitialized(ContextLoaderListener.java:45) 
     at org.mortbay.jetty.handler.ContextHandler.startContext(ContextHandler.java:548) 
     at org.mortbay.jetty.servlet.Context.startContext(Context.java:136) 
     at org.mortbay.jetty.webapp.WebAppContext.startContext(WebAppContext.java:1250) 
     at org.mortbay.jetty.handler.ContextHandler.doStart(ContextHandler.java:517) 
     at org.mortbay.jetty.webapp.WebAppContext.doStart(WebAppContext.java:467) 
     at org.mortbay.jetty.plugin.Jetty6PluginWebAppContext.doStart(Jetty6PluginWebAppContext.java:115) 
     at org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:50) 
     at org.mortbay.jetty.handler.HandlerCollection.doStart(HandlerCollection.java:152) 
     at org.mortbay.jetty.handler.ContextHandlerCollection.doStart(ContextHandlerCollection.java:156) 
     at org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:50) 
     at org.mortbay.jetty.handler.HandlerCollection.doStart(HandlerCollection.java:152) 
     at org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:50) 
     at org.mortbay.jetty.handler.HandlerWrapper.doStart(HandlerWrapper.java:130) 
     at org.mortbay.jetty.Server.doStart(Server.java:224) 
     at org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:50) 
     at org.mortbay.jetty.plugin.Jetty6PluginServer.start(Jetty6PluginServer.java:132) 
     at org.mortbay.jetty.plugin.AbstractJettyMojo.startJetty(AbstractJettyMojo.java:441) 
     at org.mortbay.jetty.plugin.AbstractJettyMojo.execute(AbstractJettyMojo.java:383) 
     at org.mortbay.jetty.plugin.AbstractJettyRunMojo.execute(AbstractJettyRunMojo.java:210) 
     at org.mortbay.jetty.plugin.Jetty6RunMojo.execute(Jetty6RunMojo.java:184) 
     at org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo(DefaultBuildPluginManager.java:107) 
     at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:195) 
     at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:148) 
     at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:140) 
     at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:84) 
     at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:59) 
     at org.apache.maven.lifecycle.internal.LifecycleStarter.singleThreadedBuild(LifecycleStarter.java:183) 
     at org.apache.maven.lifecycle.internal.LifecycleStarter.execute(LifecycleStarter.java:161) 
     at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:314) 
     at org.apache.maven.DefaultMaven.execute(DefaultMaven.java:151) 
     at org.apache.maven.cli.MavenCli.execute(MavenCli.java:445) 
     at org.apache.maven.cli.MavenCli.doMain(MavenCli.java:168) 
     at org.apache.maven.cli.MavenCli.main(MavenCli.java:132) 
     at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 
     at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) 
     at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) 
     at java.lang.reflect.Method.invoke(Method.java:597) 
     at org.codehaus.plexus.classworlds.launcher.Launcher.launchEnhanced(Launcher.java:290) 
     at org.codehaus.plexus.classworlds.launcher.Launcher.launch(Launcher.java:230) 
     at org.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitCode(Launcher.java:409) 
     at org.codehaus.plexus.classworlds.launcher.Launcher.main(Launcher.java:352) 
2011-01-04 20:32:46.903:WARN::Nested in org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'myVaadinApplicati 
.factory.BeanCreationException: Error creating bean with name 'your.intermedix.MyVaadinApplication': Autowiring of fields failed; nested exceptio 
itionException: No unique bean of type [your.intermedix.services.IContact] is defined: expected single matching bean but found 2: [contactSerImpl 
org.springframework.beans.factory.NoSuchBeanDefinitionException: No unique bean of type [your.intermedix.services.IContact] is defined: expected 
     at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.resolveDependency(AbstractAutowireCapableBeanFactory.java 
     at org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor$AutowiredElement.inject(AutowiredAnnotationBeanPostP 
     at org.springframework.beans.factory.annotation.InjectionMetadata.injectFields(InjectionMetadata.java:61) 
     at org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor.postProcessAfterInstantiation(AutowiredAnnotationBea 
     at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.populateBean(AbstractAutowireCapableBeanFactory.java:978) 
     at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.autowireBeanProperties(AbstractAutowireCapableBeanFactory 
     at org.springframework.beans.factory.wiring.BeanConfigurerSupport.configureBean(BeanConfigurerSupport.java:139) 
     at org.springframework.beans.factory.aspectj.AbstractBeanConfigurerAspect.ajc$before$org_springframework_beans_factory_aspectj_AbstractBe 
     at your.intermedix.MyVaadinApplication.<init>(MyVaadinApplication.java:34) 
     at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) 
     at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:39) 
     at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27) 
     at java.lang.reflect.Constructor.newInstance(Constructor.java:513) 
     at org.springframework.beans.BeanUtils.instantiateClass(BeanUtils.java:83) 
     at org.springframework.beans.factory.support.SimpleInstantiationStrategy.instantiate(SimpleInstantiationStrategy.java:61) 
     at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.instantiateBean(AbstractAutowireCapableBeanFactory.java:9 
     at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBeanInstance(AbstractAutowireCapableBeanFactory.jav 
     at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:514) 
     at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory$1.run(AbstractAutowireCapableBeanFactory.java:485) 
     at java.security.AccessController.doPrivileged(Native Method) 
     at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:455) 
     at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:251) 
     at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:169) 
     at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:248) 
     at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:170) 
     at org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:413) 
     at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:735) 
     at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:369) 
     at org.springframework.web.context.ContextLoader.createWebApplicationContext(ContextLoader.java:251) 
     at org.springframework.web.context.ContextLoader.initWebApplicationContext(ContextLoader.java:190) 
     at org.springframework.web.context.ContextLoaderListener.contextInitialized(ContextLoaderListener.java:45) 
     at org.mortbay.jetty.handler.ContextHandler.startContext(ContextHandler.java:548) 
     at org.mortbay.jetty.servlet.Context.startContext(Context.java:136) 
     at org.mortbay.jetty.webapp.WebAppContext.startContext(WebAppContext.java:1250) 
     at org.mortbay.jetty.handler.ContextHandler.doStart(ContextHandler.java:517) 
     at org.mortbay.jetty.webapp.WebAppContext.doStart(WebAppContext.java:467) 
     at org.mortbay.jetty.plugin.Jetty6PluginWebAppContext.doStart(Jetty6PluginWebAppContext.java:115) 
     at org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:50) 
     at org.mortbay.jetty.handler.HandlerCollection.doStart(HandlerCollection.java:152) 
     at org.mortbay.jetty.handler.ContextHandlerCollection.doStart(ContextHandlerCollection.java:156) 
     at org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:50) 
     at org.mortbay.jetty.handler.HandlerCollection.doStart(HandlerCollection.java:152) 
     at org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:50) 
     at org.mortbay.jetty.handler.HandlerWrapper.doStart(HandlerWrapper.java:130) 
     at org.mortbay.jetty.Server.doStart(Server.java:224) 
     at org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:50) 
     at org.mortbay.jetty.plugin.Jetty6PluginServer.start(Jetty6PluginServer.java:132) 
     at org.mortbay.jetty.plugin.AbstractJettyMojo.startJetty(AbstractJettyMojo.java:441) 
     at org.mortbay.jetty.plugin.AbstractJettyMojo.execute(AbstractJettyMojo.java:383) 
     at org.mortbay.jetty.plugin.AbstractJettyRunMojo.execute(AbstractJettyRunMojo.java:210) 
     at org.mortbay.jetty.plugin.Jetty6RunMojo.execute(Jetty6RunMojo.java:184) 
     at org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo(DefaultBuildPluginManager.java:107) 
     at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:195) 
     at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:148) 
     at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:140) 
     at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:84) 
     at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:59) 
     at org.apache.maven.lifecycle.internal.LifecycleStarter.singleThreadedBuild(LifecycleStarter.java:183) 
     at org.apache.maven.lifecycle.internal.LifecycleStarter.execute(LifecycleStarter.java:161) 
     at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:314) 
     at org.apache.maven.DefaultMaven.execute(DefaultMaven.java:151) 
     at org.apache.maven.cli.MavenCli.execute(MavenCli.java:445) 
     at org.apache.maven.cli.MavenCli.doMain(MavenCli.java:168) 
     at org.apache.maven.cli.MavenCli.main(MavenCli.java:132) 
     at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 
     at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) 
     at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) 
     at java.lang.reflect.Method.invoke(Method.java:597) 
     at org.codehaus.plexus.classworlds.launcher.Launcher.launchEnhanced(Launcher.java:290) 
     at org.codehaus.plexus.classworlds.launcher.Launcher.launch(Launcher.java:230) 
     at org.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitCode(Launcher.java:409) 
     at org.codehaus.plexus.classworlds.launcher.Launcher.main(Launcher.java:352) 
2011-01-04 20:32:47.160:INFO::Started [email protected]:8080 

Antwort

7

Meine Vermutung ist, dass dies:

<bean id="fooService" class="your.intermedix.services.ContactSerImpl"/> 

kollidiert mit diesem:

<context:component-scan base-package="your.intermedix"/> 

D.h. Es werden zwei Beans desselben Typs erstellt, und Spring weiß nicht, welcher zu verkabeln ist.

+0

+1 yup, gute Wette – skaffman

+0

Was soll ich für diese ... – theJava

+0

@theJava tun, die eine oder andere loswerden. Im Frühling gibt es mehr als eine Möglichkeit, fast alles zu tun. Achte nur darauf, dass du nicht alles auf einmal machst. –

Verwandte Themen