Iniciante em Spring - Erro

1 resposta
warley

Olá a todos!

Pessoal estou inciando meus estudos em Spring e estou agarrado neste erro:

org.springframework.beans.factory.NoSuchBeanDefinitionException: No bean named 'municipioDao' is defined
	at org.springframework.beans.factory.support.DefaultListableBeanFactory.getBeanDefinition(DefaultListableBeanFactory.java:387)
	at org.springframework.beans.factory.support.AbstractBeanFactory.getMergedLocalBeanDefinition(AbstractBeanFactory.java:968)
	at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:246)
	at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:185)
	at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:164)
	at org.springframework.context.support.AbstractApplicationContext.getBean(AbstractApplicationContext.java:881)
	at br.com.seven.dao.test.TestMunicipoDao.testSalvar(TestMunicipoDao.java:38)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
	at java.lang.reflect.Method.invoke(Unknown Source)
	at org.junit.internal.runners.TestMethod.invoke(TestMethod.java:59)
	at org.junit.internal.runners.MethodRoadie.runTestMethod(MethodRoadie.java:98)
	at org.junit.internal.runners.MethodRoadie$2.run(MethodRoadie.java:79)
	at org.junit.internal.runners.MethodRoadie.runBeforesThenTestThenAfters(MethodRoadie.java:87)
	at org.junit.internal.runners.MethodRoadie.runTest(MethodRoadie.java:77)
	at org.junit.internal.runners.MethodRoadie.run(MethodRoadie.java:42)
	at org.junit.internal.runners.JUnit4ClassRunner.invokeTestMethod(JUnit4ClassRunner.java:88)
	at org.junit.internal.runners.JUnit4ClassRunner.runMethods(JUnit4ClassRunner.java:51)
	at org.junit.internal.runners.JUnit4ClassRunner$1.run(JUnit4ClassRunner.java:44)
	at org.junit.internal.runners.ClassRoadie.runUnprotected(ClassRoadie.java:27)
	at org.junit.internal.runners.ClassRoadie.runProtected(ClassRoadie.java:37)
	at org.junit.internal.runners.JUnit4ClassRunner.run(JUnit4ClassRunner.java:42)
	at org.eclipse.jdt.internal.junit4.runner.JUnit4TestReference.run(JUnit4TestReference.java:38)
	at org.eclipse.jdt.internal.junit.runner.TestExecution.run(TestExecution.java:38)
	at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:460)
	at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:673)
	at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:386)
	at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:196)

Acredito que eu já fiz todas as configuraçoes necessárias que eu vou mostrar aqui:

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"
	xmlns:context="http://www.springframework.org/schema/context"
	xmlns:tx="http://www.springframework.org/schema/tx"
	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
		http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx.xsd">

	

	<!-- Marcação de transações através de anotações  -->
	<tx:annotation-driven />

	<!-- Declaração de Beans no Spring -->
	<bean id="municipioDao" class="br.com.seven.dao.imp.MunicipioDaoImp" />

</beans>

Inteface - MunicipioDao:

package br.com.seven.dao;

public interface MunicipioDao {
	void salvar();
}

Implementação da interface - MunicipioDaoImp

package br.com.seven.dao.imp;

import org.springframework.transaction.annotation.Propagation;
import org.springframework.transaction.annotation.Transactional;

import br.com.seven.dao.MunicipioDao;

@Transactional(readOnly = true, propagation = Propagation.REQUIRED)
public class MunicipioDaoImp implements MunicipioDao {
	
	@Transactional(readOnly = false, propagation = Propagation.REQUIRED)
	public void salvar(){
		System.out.println("Salvar");
	}
	
}

Classe de teste do JUnit - TestMunicipoDao

package br.com.seven.dao.test;

import org.junit.Test;
import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;

import br.com.seven.dao.MunicipioDao;

public class TestMunicipoDao {
	
	private ApplicationContext factory;
	    
    public TestMunicipoDao()
    {
        super();
        factory = new ClassPathXmlApplicationContext("classpath:**/applicationContext*.xml");
    }   	

	@Test
	public void testSalvar() {
		MunicipioDao dao = (MunicipioDao)factory.getBean("municipioDao");
			
		System.out.println("FOI");
		
		//MunicipioTO toNew = municipioDao.salvar(to);
		
		//fail("Not yet implemented");
	}
}

Alguêm tem alguma idéia do que seja?

Obrigado.

1 Resposta

T

acho que o erro não tá aí não

onde você está setando esse bean como property?

Criado 31 de agosto de 2008
Ultima resposta 4 de out. de 2008
Respostas 1
Participantes 2