Foros del Web » Programación para mayores de 30 ;) » Java »

Spring "Error creating bean with name..."

Estas en el tema de Spring "Error creating bean with name..." en el foro de Java en Foros del Web. Hola Estoy haciendo una aplicación en Spring en la que tengo varios DAOs y varios servicios. Cada servicio tiene como propiedad un DAO diferente. El ...
  #1 (permalink)  
Antiguo 22/08/2008, 00:49
Avatar de morenita7722  
Fecha de Ingreso: enero-2007
Ubicación: aquí, ¿donde sino?
Mensajes: 261
Antigüedad: 17 años, 3 meses
Puntos: 1
Spring "Error creating bean with name..."

Hola
Estoy haciendo una aplicación en Spring en la que tengo varios DAOs y varios servicios. Cada servicio tiene como propiedad un DAO diferente. El problema está en que a la hora de hacer el archivo de configuración me dice que no se puede crear el servicio porque no se encuentra la propiedad DAO del servicio. ¿Se puede tener más de un servicio mapeado? ¿Cual puede ser el error?

Aquí dejo lo que sale:

GRAVE: Context initialization failed
org.springframework.beans.factory.BeanCreationExce ption: Error creating bean with name 'alumnoServicio' defined in ServletContext resource [/WEB-INF/classes/applicationContext.xml]: Initialization of bean failed; nested exception is org.springframework.beans.InvalidPropertyException : Invalid property 'alumnoDaoImp' of bean class [org.logica.servicios.AlumnoServicio]: No property 'alumnoDaoImp' found
at org.springframework.beans.factory.support.Abstract AutowireCapableBeanFactory.doCreateBean(AbstractAu towireCapableBeanFactory.java:478)
at org.springframework.beans.factory.support.Abstract AutowireCapableBeanFactory$1.run(AbstractAutowireC apableBeanFactory.java:409)
at java.security.AccessController.doPrivileged(Native Method)
at org.springframework.beans.factory.support.Abstract AutowireCapableBeanFactory.createBean(AbstractAuto wireCapableBeanFactory.java:380)
at org.springframework.beans.factory.support.Abstract BeanFactory$1.getObject(AbstractBeanFactory.java:2 64)
at org.springframework.beans.factory.support.DefaultS ingletonBeanRegistry.getSingleton(DefaultSingleton BeanRegistry.java:220)
at org.springframework.beans.factory.support.Abstract BeanFactory.doGetBean(AbstractBeanFactory.java:261 )
at org.springframework.beans.factory.support.Abstract BeanFactory.getBean(AbstractBeanFactory.java:185)
at org.springframework.beans.factory.support.Abstract BeanFactory.getBean(AbstractBeanFactory.java:164)
at org.springframework.beans.factory.support.DefaultL istableBeanFactory.preInstantiateSingletons(Defaul tListableBeanFactory.java:429)
at org.springframework.context.support.AbstractApplic ationContext.finishBeanFactoryInitialization(Abstr actApplicationContext.java:729)
at org.springframework.context.support.AbstractApplic ationContext.refresh(AbstractApplicationContext.ja va:381)
at org.springframework.web.context.ContextLoader.crea teWebApplicationContext(ContextLoader.java:255)
at org.springframework.web.context.ContextLoader.init WebApplicationContext(ContextLoader.java:199)
at org.springframework.web.context.ContextLoaderListe ner.contextInitialized(ContextLoaderListener.java: 45)
at org.apache.catalina.core.StandardContext.listenerS tart(StandardContext.java:3764)
at org.apache.catalina.core.StandardContext.start(Sta ndardContext.java:4216)
at org.apache.catalina.core.ContainerBase.start(Conta inerBase.java:1014)
at org.apache.catalina.core.StandardHost.start(Standa rdHost.java:736)
at org.apache.catalina.core.ContainerBase.start(Conta inerBase.java:1014)
at org.apache.catalina.core.StandardEngine.start(Stan dardEngine.java:443)
at org.apache.catalina.core.StandardService.start(Sta ndardService.java:448)
at org.apache.catalina.core.StandardServer.start(Stan dardServer.java:700)
at org.apache.catalina.startup.Catalina.start(Catalin a.java:552)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Nativ e Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknow n Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Un known Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at org.apache.catalina.startup.Bootstrap.start(Bootst rap.java:295)
at org.apache.catalina.startup.Bootstrap.main(Bootstr ap.java:433)
Caused by: org.springframework.beans.InvalidPropertyException : Invalid property 'alumnoDaoImp' of bean class [org.logica.servicios.AlumnoServicio]: No property 'alumnoDaoImp' found
at org.springframework.beans.BeanWrapperImpl.convertF orProperty(BeanWrapperImpl.java:382)
at org.springframework.beans.factory.support.Abstract AutowireCapableBeanFactory.convertForProperty(Abst ractAutowireCapableBeanFactory.java:1287)
at org.springframework.beans.factory.support.Abstract AutowireCapableBeanFactory.applyPropertyValues(Abs tractAutowireCapableBeanFactory.java:1248)
at org.springframework.beans.factory.support.Abstract AutowireCapableBeanFactory.populateBean(AbstractAu towireCapableBeanFactory.java:1008)
at org.springframework.beans.factory.support.Abstract AutowireCapableBeanFactory.doCreateBean(AbstractAu towireCapableBeanFactory.java:470)
... 29 more


Un saludo
  #2 (permalink)  
Antiguo 23/08/2008, 11:24
Avatar de Jawar  
Fecha de Ingreso: octubre-2005
Ubicación: Málaga
Mensajes: 34
Antigüedad: 18 años, 6 meses
Puntos: 0
Respuesta: Spring "Error creating bean with name..."

Puedes tener en Spring tantos servicios declarados como necesites. ¿Has declarado una propiedad en AlumnosServicio (con sus metodos get y set) que sea de tipo alumnoDao?
  #3 (permalink)  
Antiguo 24/08/2008, 19:56
 
Fecha de Ingreso: agosto-2008
Ubicación: Cajamarca
Mensajes: 49
Antigüedad: 15 años, 8 meses
Puntos: 0
Respuesta: Spring "Error creating bean with name..."

Hola morenita7722,

Tu error es :
Invalid property 'alumnoDaoImp' of bean class [org.logica.servicios.AlumnoServicio]: No property 'alumnoDaoImp' found

Esto dice que tu tratas de poner algo en la property 'alumnoDaoImp' del objeto 'AlumnoServicio', pero este bean no tiene property que se llama 'alumnoDaoImp'.

Cimballi
  #4 (permalink)  
Antiguo 25/08/2008, 00:32
Avatar de morenita7722  
Fecha de Ingreso: enero-2007
Ubicación: aquí, ¿donde sino?
Mensajes: 261
Antigüedad: 17 años, 3 meses
Puntos: 1
Respuesta: Spring "Error creating bean with name..."

Si he declarado una propiedad en AlumnoServicio tipo alumnoDaoImp, os dejo el código por si veis algo. Y también dejo el applicationContext.xml por si se me está pasando algo.

applicationContext.xml:

<?xml version="1.0" encoding="UTF-8"?>
<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.xsd">


<!-- Las propiedades del dataSource tienen como valor properties -->
<bean id="myDataSource" class="org.springframework.jdbc.datasource.DriverM anagerDataSource">
<property name="driverClassName"><value>com.mysql.jdbc.Drive r</value></property>
<property name="url"><value>jdbc:mysql://10.0.1.26:3306/bd</value></property>
<property name="username"><value>uno</value></property>
<property name="password"><value>uno</value></property>
</bean>

<!-- Hibernate SessionFactory -->
<bean id="mySessionFactory" class="org.springframework.orm.hibernate3.LocalSes sionFactoryBean">
<property name="dataSource" ref="myDataSource"/>
<!-- Debe hacer referencia a todos los mapeados de objetos -->
<property name="mappingResources">
<list>
<value>org/logica/hbm/Alumno.hbm.xml</value>
</list>
</property>
<property name="hibernateProperties">
<props>
<prop key="hibernate.dialect">org.hibernate.dialect.MySQ LDialect</prop>
<prop key="hibernate.show_sql">true</prop>
<prop key="hibernate.generate_statistics">true</prop>
<prop key="hibernate.hbm2ddl.auto">update</prop>
</props>
</property>
</bean>



<!-- Transaction Manager -->
<bean id="transactionManager" class="org.springframework.orm.hibernate3.Hibernat eTransactionManager">
<property name="sessionFactory"><ref bean="mySessionFactory"/></property>
</bean>

<!-- El dao tiene como atributo la sesion -->
<bean id="alumnoDaoImp" class="org.logica.persistencia.implementacion.Alum noDaoImp">
<property name="sessionFactory"><ref local="mySessionFactory"/></property>
</bean>

<!-- El Servicio tiene como atributo el DAO -->
<bean id="alumnoServicio" class="org.logica.servicios.AlumnoServicio">
<property name="alumnoDaoImp" ref="alumnoDaoImp"/>
</bean>

</beans>




AlumnoServicio.java:

public class AlumnoServicio {

private AlumnoDaoImp alumnoDaoImp;

public AlumnoDaoImp getDao() {
return alumnoDaoImp;
}

public void setDao(AlumnoDaoImp dao) {
this.alumnoDaoImp = dao;
}


public void anhadirAlumno(Alumno alumno) {
alumnoDaoImp.anhadirAlumno(alumno);
}

public void borrarAlumno(Alumno alumno) {
alumnoDaoImp.borrarAlumno(alumno);
}
}
  #5 (permalink)  
Antiguo 25/08/2008, 02:38
Avatar de morenita7722  
Fecha de Ingreso: enero-2007
Ubicación: aquí, ¿donde sino?
Mensajes: 261
Antigüedad: 17 años, 3 meses
Puntos: 1
Respuesta: Spring "Error creating bean with name..."

Problema resuelto!!!

Están mal los get y set del AlumnoDaoImp, no son setDao y getDao, tienen que ser setAlumnoDaoImp y getAlumnoDaoImp, vaya fallo, jeje

Gracias a todos!
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 19:05.