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

Problemas Spring Anotaciones Error creating bean with name 'contactService': Injectio

Estas en el tema de Problemas Spring Anotaciones Error creating bean with name 'contactService': Injectio en el foro de Java en Foros del Web. ola compañeros tengo un problema con spring anotaciones al parecer no esta realizando la inyeccion de dependencia, les dejo el error y los codigos a ...
  #1 (permalink)  
Antiguo 05/10/2010, 08:46
 
Fecha de Ingreso: marzo-2008
Mensajes: 37
Antigüedad: 16 años, 7 meses
Puntos: 0
Problemas Spring Anotaciones Error creating bean with name 'contactService': Injectio

ola compañeros tengo un problema con spring anotaciones al parecer no esta realizando la inyeccion de dependencia, les dejo el error y los codigos a vesr si alguien me ayuda

Este es el ERROR

Error creating bean with name 'contactService': Injection of autowired dependencies failed; nested exception is org.springframework.beans.factory.BeanCreationExce ption: Could not autowire method: public void

aqui las clases

Código:

type Informe de Excepción


mensaje

descripción El servidor encontró un error interno () que hizo que no pudiera rellenar este requerimiento.

excepción

javax.servlet.ServletException: Servlet.init() para servlet extjs-crud-grid-spring-hibernate lanzó excepción
	org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
	org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:298)
	org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:857)
	org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:588)
	org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:489)
	java.lang.Thread.run(Thread.java:619)
 

causa raíz

org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'contactService': Injection of autowired dependencies failed; nested exception is org.springframework.beans.factory.BeanCreationException: Could not autowire method: public void com.orsisperu.service.ContactService.setContactDao(com.orsisperu.dao.ContactDAO); nested exception is org.springframework.beans.factory.NoSuchBeanDefinitionException: No matching bean of type [com.orsisperu.dao.ContactDAO] found for dependency: expected at least 1 bean which qualifies as autowire candidate for this dependency. Dependency annotations: {}
	org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor.postProcessPropertyValues(AutowiredAnnotationBeanPostProcessor.java:286)
	org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.populateBean(AbstractAutowireCapableBeanFactory.java:1064)
	org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:517)
	org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:456)
	org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:291)
	org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:222)
	org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:288)
	org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:190)
	org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:563)
	org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:872)
	org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:423)
	org.springframework.web.servlet.FrameworkServlet.createWebApplicationContext(FrameworkServlet.java:442)
	org.springframework.web.servlet.FrameworkServlet.createWebApplicationContext(FrameworkServlet.java:458)
	org.springframework.web.servlet.FrameworkServlet.initWebApplicationContext(FrameworkServlet.java:339)
	org.springframework.web.servlet.FrameworkServlet.initServletBean(FrameworkServlet.java:306)
	org.springframework.web.servlet.HttpServletBean.init(HttpServletBean.java:127)
	javax.servlet.GenericServlet.init(GenericServlet.java:212)
	org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
	org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:298)
	org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:857)
	org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:588)
	org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:489)
	java.lang.Thread.run(Thread.java:619)



La interfaz

Código:
package com.orsisperu.dao;

import java.util.List;

import com.orsisperu.model.Contact;

public interface IContactDAO {
	
	List<Contact>  getContacts();
	
	void deleteContact(String id);
	
	Contact saveContact(Contact contacto);

}

el dao


Código:
package com.orsisperu.dao;

import java.util.List;

import org.hibernate.SessionFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.orm.hibernate3.HibernateTemplate;
import org.springframework.stereotype.Repository;
import org.springframework.transaction.annotation.Transactional;


import com.orsisperu.model.Contact;

@Repository
public class ContactDAO implements IContactDAO {
	
	private HibernateTemplate hibernateTemplate;
	
	@Autowired
	public void setSessionFactory(SessionFactory  sessionFactory){
		hibernateTemplate=new HibernateTemplate(sessionFactory);
	}
    
	@SuppressWarnings("unchecked") //para evitar error compilacion con java.io.serializable
	@Override
	@Transactional(readOnly=true)
	public List<Contact> getContacts() {
		// TODO Auto-generated method stub
		return hibernateTemplate.find("from Contact");
	}

	@Override
	@Transactional
	public void deleteContact(String id) {
		// TODO Auto-generated method stub
		Object record=hibernateTemplate.load(Contact.class, id);
		hibernateTemplate.delete(record);
	}
     
	//retorna contacto que fue insertado en la bd
	@Override
	@Transactional
	public Contact saveContact(Contact contacto) {
		// TODO Auto-generated method stub
		hibernateTemplate.saveOrUpdate(contacto);
		
		return contacto;
		
	}

}

mi capa servicio


Código:
package com.orsisperu.service;

import java.util.List;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;

import com.orsisperu.dao.ContactDAO;
import com.orsisperu.model.Contact;

@Service
public class ContactService {
	@Autowired
	private ContactDAO contactDao;
	
	
	public void setContactDao(ContactDAO contactDao) {
		this.contactDao = contactDao;
	}
	
	public List<Contact> getContactList(){
		return contactDao.getContacts();
	}
	
	public  Contact createContact(Contact contacto){
			return contactDao.saveContact(contacto);
	}
	
	public Contact updateContact(Contact contacto){
		return contactDao.saveContact(contacto);
	}
	
	public void deleteContact(String id){
		 contactDao.deleteContact(id);
	}

}


y mi capa controllador

Aqui parece que sta el erro al tratar de inyectar el bean servicio


Código:
package com.orsisperu.web;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.ui.ModelMap;
import org.springframework.web.bind.annotation.RequestMapping;

import sun.font.CreatedFontTracker;

import com.orsisperu.service.ContactService;

@Controller
public class ContactController {

	private ContactService contactService;

	@Autowired
	public void setContactService(ContactService contactService) {
		this.contactService = contactService;
	}
	
	@RequestMapping(value="/contact/view.action")
	public String view(ModelMap model){
		
		model.addAttribute("listaContact",contactService.getContactList());
		
		return "contact/listaContact";
	}
	
	
	
}

este es mi archivo spring configuracion

Código:
<?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:mvc="http://www.springframework.org/schema/mvc"
	xmlns:context="http://www.springframework.org/schema/context"
	xsi:schemaLocation="
		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
		http://www.springframework.org/schema/mvc http://www.springframework.org/schema/mvc/spring-mvc-3.0.xsd">

	<!-- Scans the classpath of this application for @Components to deploy as beans -->
	<context:component-scan base-package="com.orsisperu" />
	
	<!-- Configures the @Controller programming model -->
	<mvc:annotation-driven />

	<!-- misc -->
	<bean id="viewResolver" class="org.springframework.web.servlet.view.InternalResourceViewResolver">
	    <property name="viewClass" value="org.springframework.web.servlet.view.JstlView"/>
	    <property name="suffix" value=".jsp"/>
	</bean>
	
	<!-- Configures Hibernate - Database Config -->
	<import resource="db-config.xml" />
      
</beans>

Ojala me puedan dar la mano no se a que se deba

Saludos

Etiquetas: anotaciones, bean, spring
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 14:32.