Olá,
Estou realizando um teste com o Spring 3.0 utilizando o Netbeans 6.9.
Criei o DAO genérico e resolvi fazer o seguinte teste para analisar se está tudo funcionando:
package teste.dao.imp;
import teste.dao.CategoriaProdutoDao;
import teste.entity.CategoriaProduto;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.test.context.ContextConfiguration;
import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;
import static org.junit.Assert.*;
@RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration(
locations={"classpath:**/applicationContext*.xml"}
)
public class DaoGenericoImpTest {
private CategoriaProdutoDao categoriaProdutoDao;
private Long id = new Long(1);
@Autowired
public void setCategoriaProdutoDao(CategoriaProdutoDao categoriaProdutoDao){
this.categoriaProdutoDao = categoriaProdutoDao;
}
private CategoriaProduto getCategoriaProduto(){
CategoriaProduto categoriaProduto = new CategoriaProduto();
categoriaProduto.setNome("Teste");
return categoriaProduto;
}
@Test
public void testSalvar(){
CategoriaProduto categoriaProduto = null;
categoriaProduto = categoriaProdutoDao.salvar(getCategoriaProduto());
assertNotNull(categoriaProduto);
assertEquals(id, categoriaProduto.getCatCodigo());
assertEquals("Teste", categoriaProduto.getNome());
}
}
Arquivo 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:tx="http://www.springframework.org/schema/tx"
xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.0.xsd
http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-3.0.xsd
">
<bean id="entityManagerFactory" class="org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean">
<property name="persistenceUnitName" value="estoque" />
</bean>
<bean class="org.springframework.orm.jpa.support.PersistenceAnnotationBeanPostProcessor"/>
<bean id="transactionManager" class="org.springframework.orm.jpa.JpaTransactionManager">
<property name="entityManagerFactory" ref="entityManagerFactory" />
</bean>
<tx:annotation-driven/>
<bean id="categoriaProdutoDao" class="teste.dao.imp.CategoriaProdutoDaoImp" />
<bean id="departamentoDao" class="teste.dao.imp.DepartamentoDaoImp" />
<bean id="movimentoDao" class="teste.dao.imp.MovimentoDaoImp" />
<bean id="produtoDao" class="teste.dao.imp.ProdutoDaoImp" />
</beans>
Código do Dao Generico:
package teste.dao.imp;
import teste.dao.DaoGenerico;
import java.io.Serializable;
import java.lang.reflect.ParameterizedType;
import java.util.List;
import java.util.Map;
import javax.persistence.EntityManager;
import javax.persistence.NoResultException;
import javax.persistence.PersistenceContext;
import javax.persistence.Query;
import org.springframework.transaction.annotation.Propagation;
import org.springframework.transaction.annotation.Transactional;
@Transactional(readOnly=true,propagation=Propagation.REQUIRED)
public class DaoGenericoImp<T,ID extends Serializable> implements DaoGenerico<T, ID>{
private EntityManager entityManager;
private final Class<T> oClass;
@Override
public Class<T> getObjectClass(){
return this.oClass;
}
@SuppressWarnings("unchecked")
@PersistenceContext
public void setEntityManager(EntityManager em){
this.entityManager = em;
}
protected EntityManager getEntityManager(){
if (entityManager == null)
throw new IllegalStateException("Erro");
return entityManager;
}
@SuppressWarnings("unchecked")
public DaoGenericoImp(){
this.oClass = (Class<T>)((ParameterizedType)getClass().getGenericSuperclass()).getActualTypeArguments()[0];
}
@Override
@Transactional(readOnly=false,propagation=Propagation.REQUIRED)
public T atualizar(T object){
getEntityManager().merge(object);
return object;
}
@Override
@Transactional(readOnly=false,propagation=Propagation.REQUIRED)
public void excluir(T object){
object = getEntityManager().merge(object);
getEntityManager().remove(object);
}
@Override
@Transactional(readOnly=false,propagation=Propagation.REQUIRED)
public T salvar(T object) {
getEntityManager().clear();
getEntityManager().persist(object);
return object;
}
@Override
public T pesquisarPorId(ID id) {
return (T)getEntityManager().find(oClass, id);
}
@SuppressWarnings("unchecked")
@Override
public List<T> todos() {
String queryS = "SELECT obj FROM "+ oClass.getSimpleName() + " obj";
Query query = getEntityManager().createQuery(queryS);
return query.getResultList();
}
@SuppressWarnings("unchecked")
public List<T> listPesqParam(String query, Map<String, Object> params) {
Query q = getEntityManager().createQuery(query);
for(String chave:params.keySet()){
q.setParameter(chave, params.get(chave));
}
return q.getResultList();
}
@SuppressWarnings("unchecked")
@Override
public List<T> listPesqParam(String query, Map<String, Object> params, int maximo, int atual) {
Query q = getEntityManager().createQuery(query).setMaxResults(maximo).setFirstResult(atual);
for(String chave:params.keySet()){
q.setParameter(chave, params.get(chave));
}
return q.getResultList();
}
@SuppressWarnings("unchecked")
@Override
public List<T> listPesq(String query) {
Query q = getEntityManager().createQuery(query);
return q.getResultList();
}
@SuppressWarnings("unchecked")
@Override
public T pesqParam(String query, Map<String, Object> params) {
Query q = getEntityManager().createNamedQuery(query);
for(String chave:params.keySet()){
q.setParameter(chave,params.get(chave));
}
try{
return (T)q.getSingleResult();
}catch(NoResultException nre){
return null;
}
}
}
E quando executo me retorna o seguinte erro:
init:
deps-module-jar:
deps-ear-jar:
deps-jar:
library-inclusion-in-archive:
library-inclusion-in-manifest:
compile:
compile-test-single:
WARNING: multiple versions of ant detected in path for junit
jar:file:/home/gustavo/netbeans-6.9/java/ant/lib/ant.jar!/org/apache/tools/ant/Project.class
and jar:file:/home/gustavo/sges-v3/glassfish/modules/ant.jar!/org/apache/tools/ant/Project.class
19/07/2010 08:36:40 org.springframework.test.context.TestContextManager retrieveTestExecutionListeners
INFO: @TestExecutionListeners is not present for class [class teste.dao.imp.DaoGenericoImpTest]: using defaults.
Testsuite: teste.dao.imp.DaoGenericoImpTest
19/07/2010 08:36:40 org.springframework.context.support.AbstractApplicationContext prepareRefresh
INFO: Refreshing org.springframework.context.support.GenericApplicationContext@12d96f2: startup date [Mon Jul 19 08:36:40 BRT 2010]; root of context hierarchy
19/07/2010 08:36:40 org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor <init>
INFO: JSR-330 'javax.inject.Inject' annotation found and supported for autowiring
19/07/2010 08:36:40 org.springframework.beans.factory.support.DefaultListableBeanFactory preInstantiateSingletons
INFO: Pre-instantiating singletons in org.springframework.beans.factory.support.DefaultListableBeanFactory@19b1de: defining beans [org.springframework.context.annotation.internalConfigurationAnnotationProcessor,org.springframework.context.annotation.internalAutowiredAnnotationProcessor,org.springframework.context.annotation.internalRequiredAnnotationProcessor,org.springframework.context.annotation.internalCommonAnnotationProcessor,org.springframework.context.annotation.internalPersistenceAnnotationProcessor]; root of factory hierarchy
19/07/2010 08:36:40 org.springframework.test.context.TestContextManager prepareTestInstance
SEVERE: Caught exception while allowing TestExecutionListener [org.springframework.test.context.support.DependencyInjectionTestExecutionListener@1d2b01b] to prepare test instance [teste.dao.imp.DaoGenericoImpTest@127fa12]
org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'teste.dao.imp.DaoGenericoImpTest': Injection of autowired dependencies failed; nested exception is org.springframework.beans.factory.BeanCreationException: Could not autowire method: public void teste.dao.imp.DaoGenericoImpTest.setCategoriaProdutoDao(teste.dao.CategoriaProdutoDao); nested exception is org.springframework.beans.factory.NoSuchBeanDefinitionException: No matching bean of type [teste.dao.CategoriaProdutoDao] found for dependency: expected at least 1 bean which qualifies as autowire candidate for this dependency. Dependency annotations: {}
Tests run: 1, Failures: 0, Errors: 1, Time elapsed: 0,389 sec
------------- Standard Error -----------------
19/07/2010 08:36:40 org.springframework.test.context.TestContextManager retrieveTestExecutionListeners
INFO: @TestExecutionListeners is not present for class [class teste.dao.imp.DaoGenericoImpTest]: using defaults.
19/07/2010 08:36:40 org.springframework.context.support.AbstractApplicationContext prepareRefresh
INFO: Refreshing org.springframework.context.support.GenericApplicationContext@12d96f2: startup date [Mon Jul 19 08:36:40 BRT 2010]; root of context hierarchy
19/07/2010 08:36:40 org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor <init>
INFO: JSR-330 'javax.inject.Inject' annotation found and supported for autowiring
19/07/2010 08:36:40 org.springframework.beans.factory.support.DefaultListableBeanFactory preInstantiateSingletons
INFO: Pre-instantiating singletons in org.springframework.beans.factory.support.DefaultListableBeanFactory@19b1de: defining beans [org.springframework.context.annotation.internalConfigurationAnnotationProcessor,org.springframework.context.annotation.internalAutowiredAnnotationProcessor,org.springframework.context.annotation.internalRequiredAnnotationProcessor,org.springframework.context.annotation.internalCommonAnnotationProcessor,org.springframework.context.annotation.internalPersistenceAnnotationProcessor]; root of factory hierarchy
19/07/2010 08:36:40 org.springframework.test.context.TestContextManager prepareTestInstance
SEVERE: Caught exception while allowing TestExecutionListener [org.springframework.test.context.support.DependencyInjectionTestExecutionListener@1d2b01b] to prepare test instance [teste.dao.imp.DaoGenericoImpTest@127fa12]
org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'teste.dao.imp.DaoGenericoImpTest': Injection of autowired dependencies failed; nested exception is org.springframework.beans.factory.BeanCreationException: Could not autowire method: public void teste.dao.imp.DaoGenericoImpTest.setCategoriaProdutoDao(teste.dao.CategoriaProdutoDao); nested exception is org.springframework.beans.factory.NoSuchBeanDefinitionException: No matching bean of type [teste.dao.CategoriaProdutoDao] found for dependency: expected at least 1 bean which qualifies as autowire candidate for this dependency. Dependency annotations: {}
at org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor.postProcessPropertyValues(AutowiredAnnotationBeanPostProcessor.java:286)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.populateBean(AbstractAutowireCapableBeanFactory.java:1064)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.autowireBeanProperties(AbstractAutowireCapableBeanFactory.java:374)
at org.springframework.test.context.support.DependencyInjectionTestExecutionListener.injectDependencies(DependencyInjectionTestExecutionListener.java:110)
at org.springframework.test.context.support.DependencyInjectionTestExecutionListener.prepareTestInstance(DependencyInjectionTestExecutionListener.java:75)
at org.springframework.test.context.TestContextManager.prepareTestInstance(TestContextManager.java:333)
at org.springframework.test.context.junit4.SpringJUnit4ClassRunner.createTest(SpringJUnit4ClassRunner.java:220)
at org.springframework.test.context.junit4.SpringJUnit4ClassRunner$1.runReflectiveCall(SpringJUnit4ClassRunner.java:301)
at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:15)
at org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor.postProcessPropertyValues(AutowiredAnnotationBeanPostProcessor.java:286)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.populateBean(AbstractAutowireCapableBeanFactory.java:1064)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.autowireBeanProperties(AbstractAutowireCapableBeanFactory.java:374)
at org.springframework.test.context.junit4.SpringJUnit4ClassRunner.methodBlock(SpringJUnit4ClassRunner.java:303)
at org.springframework.test.context.junit4.SpringJUnit4ClassRunner.runChild(SpringJUnit4ClassRunner.java:240)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:46)
at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:180)
at org.junit.runners.ParentRunner.access$000(ParentRunner.java:41)
at org.junit.runners.ParentRunner$1.evaluate(ParentRunner.java:173)
at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:28)
at org.springframework.test.context.junit4.statements.RunBeforeTestClassCallbacks.evaluate(RunBeforeTestClassCallbacks.java:61)
at org.springframework.test.context.support.DependencyInjectionTestExecutionListener.injectDependencies(DependencyInjectionTestExecutionListener.java:110)
at org.springframework.test.context.support.DependencyInjectionTestExecutionListener.prepareTestInstance(DependencyInjectionTestExecutionListener.java:75)
at org.springframework.test.context.TestContextManager.prepareTestInstance(TestContextManager.java:333)
at org.springframework.test.context.junit4.SpringJUnit4ClassRunner.createTest(SpringJUnit4ClassRunner.java:220)
at org.springframework.test.context.junit4.SpringJUnit4ClassRunner$1.runReflectiveCall(SpringJUnit4ClassRunner.java:301)
at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:15)
at org.springframework.test.context.junit4.SpringJUnit4ClassRunner.methodBlock(SpringJUnit4ClassRunner.java:303)
at org.springframework.test.context.junit4.SpringJUnit4ClassRunner.runChild(SpringJUnit4ClassRunner.java:240)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:46)
at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:180)
at org.junit.runners.ParentRunner.access$000(ParentRunner.java:41)
at org.junit.runners.ParentRunner$1.evaluate(ParentRunner.java:173)
at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:28)
at org.springframework.test.context.junit4.statements.RunBeforeTestClassCallbacks.evaluate(RunBeforeTestClassCallbacks.java:61)
at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:31)
at org.springframework.test.context.junit4.statements.RunAfterTestClassCallbacks.evaluate(RunAfterTestClassCallbacks.java:70)
at org.junit.runners.ParentRunner.run(ParentRunner.java:220)
at org.springframework.test.context.junit4.SpringJUnit4ClassRunner.run(SpringJUnit4ClassRunner.java:180)
at junit.framework.JUnit4TestAdapter.run(JUnit4TestAdapter.java:39)
at org.apache.tools.ant.taskdefs.optional.junit.JUnitTestRunner.run(JUnitTestRunner.java:518)
at org.apache.tools.ant.taskdefs.optional.junit.JUnitTestRunner.launch(JUnitTestRunner.java:1052)
at org.apache.tools.ant.taskdefs.optional.junit.JUnitTestRunner.main(JUnitTestRunner.java:906)
at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:31)
at org.springframework.test.context.junit4.statements.RunAfterTestClassCallbacks.evaluate(RunAfterTestClassCallbacks.java:70)
at org.junit.runners.ParentRunner.run(ParentRunner.java:220)
at org.springframework.test.context.junit4.SpringJUnit4ClassRunner.run(SpringJUnit4ClassRunner.java:180)
at junit.framework.JUnit4TestAdapter.run(JUnit4TestAdapter.java:39)
at org.apache.tools.ant.taskdefs.optional.junit.JUnitTestRunner.run(JUnitTestRunner.java:518)
at org.apache.tools.ant.taskdefs.optional.junit.JUnitTestRunner.launch(JUnitTestRunner.java:1052)
at org.apache.tools.ant.taskdefs.optional.junit.JUnitTestRunner.main(JUnitTestRunner.java:906)
Caused by: org.springframework.beans.factory.BeanCreationException: Could not autowire method: public void teste.dao.imp.DaoGenericoImpTest.setCategoriaProdutoDao(teste.dao.CategoriaProdutoDao); nested exception is org.springframework.beans.factory.NoSuchBeanDefinitionException: No matching bean of type [teste.dao.CategoriaProdutoDao] found for dependency: expected at least 1 bean which qualifies as autowire candidate for this dependency. Dependency annotations: {}
at org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor$AutowiredMethodElement.inject(AutowiredAnnotationBeanPostProcessor.java:608)
at org.springframework.beans.factory.annotation.InjectionMetadata.inject(InjectionMetadata.java:84)
at org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor.postProcessPropertyValues(AutowiredAnnotationBeanPostProcessor.java:283)
... 24 more
Caused by: org.springframework.beans.factory.NoSuchBeanDefinitionException: No matching bean of type [teste.dao.CategoriaProdutoDao] found for dependency: expected at least 1 bean which qualifies as autowire candidate for this dependency. Dependency annotations: {}
at org.springframework.beans.factory.support.DefaultListableBeanFactory.raiseNoSuchBeanDefinitionException(DefaultListableBeanFactory.java:903)
at org.springframework.beans.factory.support.DefaultListableBeanFactory.doResolveDependency(DefaultListableBeanFactory.java:772)
at org.springframework.beans.factory.support.DefaultListableBeanFactory.resolveDependency(DefaultListableBeanFactory.java:686)
at org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor$AutowiredMethodElement.inject(AutowiredAnnotationBeanPostProcessor.java:559)
... 26 more
------------- ---------------- ---------------
Testcase: testSalvar(teste.dao.imp.DaoGenericoImpTest): Caused an ERROR
Error creating bean with name 'teste.dao.imp.DaoGenericoImpTest': Injection of autowired dependencies failed; nested exception is org.springframework.beans.factory.BeanCreationException: Could not autowire method: public void teste.dao.imp.DaoGenericoImpTest.setCategoriaProdutoDao(teste.dao.CategoriaProdutoDao); nested exception is org.springframework.beans.factory.NoSuchBeanDefinitionException: No matching bean of type [teste.dao.CategoriaProdutoDao] found for dependency: expected at least 1 bean which qualifies as autowire candidate for this dependency. Dependency annotations: {}
Caused by: org.springframework.beans.factory.BeanCreationException: Could not autowire method: public void teste.dao.imp.DaoGenericoImpTest.setCategoriaProdutoDao(teste.dao.CategoriaProdutoDao); nested exception is org.springframework.beans.factory.NoSuchBeanDefinitionException: No matching bean of type [teste.dao.CategoriaProdutoDao] found for dependency: expected at least 1 bean which qualifies as autowire candidate for this dependency. Dependency annotations: {}
at org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor$AutowiredMethodElement.inject(AutowiredAnnotationBeanPostProcessor.java:608)
at org.springframework.beans.factory.annotation.InjectionMetadata.inject(InjectionMetadata.java:84)
at org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor.postProcessPropertyValues(AutowiredAnnotationBeanPostProcessor.java:283)
... 24 more
Caused by: org.springframework.beans.factory.NoSuchBeanDefinitionException: No matching bean of type [teste.dao.CategoriaProdutoDao] found for dependency: expected at least 1 bean which qualifies as autowire candidate for this dependency. Dependency annotations: {}
at org.springframework.beans.factory.support.DefaultListableBeanFactory.raiseNoSuchBeanDefinitionException(DefaultListableBeanFactory.java:903)
at org.springframework.beans.factory.support.DefaultListableBeanFactory.doResolveDependency(DefaultListableBeanFactory.java:772)
at org.springframework.beans.factory.support.DefaultListableBeanFactory.resolveDependency(DefaultListableBeanFactory.java:686)
at org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor$AutowiredMethodElement.inject(AutowiredAnnotationBeanPostProcessor.java:559)
... 26 more
19/07/2010 08:36:41 org.springframework.context.support.AbstractApplicationContext doClose
INFO: Closing org.springframework.context.support.GenericApplicationContext@12d96f2: startup date [Mon Jul 19 08:36:40 BRT 2010]; root of context hierarchy
19/07/2010 08:36:41 org.springframework.beans.factory.support.DefaultSingletonBeanRegistry destroySingletons
INFO: Destroying singletons in org.springframework.beans.factory.support.DefaultListableBeanFactory@19b1de: defining beans [org.springframework.context.annotation.internalConfigurationAnnotationProcessor,org.springframework.context.annotation.internalAutowiredAnnotationProcessor,org.springframework.context.annotation.internalRequiredAnnotationProcessor,org.springframework.context.annotation.internalCommonAnnotationProcessor,org.springframework.context.annotation.internalPersistenceAnnotationProcessor]; root of factory hierarchy
org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'teste.dao.imp.DaoGenericoImpTest': Injection of autowired dependencies failed; nested exception is org.springframework.beans.factory.BeanCreationException: Could not autowire method: public void teste.dao.imp.DaoGenericoImpTest.setCategoriaProdutoDao(teste.dao.CategoriaProdutoDao); nested exception is org.springframework.beans.factory.NoSuchBeanDefinitionException: No matching bean of type [teste.dao.CategoriaProdutoDao] found for dependency: expected at least 1 bean which qualifies as autowire candidate for this dependency. Dependency annotations: {}
at org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor.postProcessPropertyValues(AutowiredAnnotationBeanPostProcessor.java:286)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.populateBean(AbstractAutowireCapableBeanFactory.java:1064)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.autowireBeanProperties(AbstractAutowireCapableBeanFactory.java:374)
at org.springframework.test.context.support.DependencyInjectionTestExecutionListener.injectDependencies(DependencyInjectionTestExecutionListener.java:110)
at org.springframework.test.context.support.DependencyInjectionTestExecutionListener.prepareTestInstance(DependencyInjectionTestExecutionListener.java:75)
at org.springframework.test.context.TestContextManager.prepareTestInstance(TestContextManager.java:333)
at org.springframework.test.context.junit4.SpringJUnit4ClassRunner.createTest(SpringJUnit4ClassRunner.java:220)
at org.springframework.test.context.junit4.SpringJUnit4ClassRunner$1.runReflectiveCall(SpringJUnit4ClassRunner.java:301)
at org.springframework.test.context.junit4.SpringJUnit4ClassRunner.methodBlock(SpringJUnit4ClassRunner.java:303)
at org.springframework.test.context.junit4.SpringJUnit4ClassRunner.runChild(SpringJUnit4ClassRunner.java:240)
at org.springframework.test.context.junit4.statements.RunBeforeTestClassCallbacks.evaluate(RunBeforeTestClassCallbacks.java:61)
at org.springframework.test.context.junit4.statements.RunAfterTestClassCallbacks.evaluate(RunAfterTestClassCallbacks.java:70)
at org.springframework.test.context.junit4.SpringJUnit4ClassRunner.run(SpringJUnit4ClassRunner.java:180)
Caused by: org.springframework.beans.factory.BeanCreationException: Could not autowire method: public void teste.dao.imp.DaoGenericoImpTest.setCategoriaProdutoDao(teste.dao.CategoriaProdutoDao); nested exception is org.springframework.beans.factory.NoSuchBeanDefinitionException: No matching bean of type [teste.dao.CategoriaProdutoDao] found for dependency: expected at least 1 bean which qualifies as autowire candidate for this dependency. Dependency annotations: {}
at org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor$AutowiredMethodElement.inject(AutowiredAnnotationBeanPostProcessor.java:608)
at org.springframework.beans.factory.annotation.InjectionMetadata.inject(InjectionMetadata.java:84)
at org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor.postProcessPropertyValues(AutowiredAnnotationBeanPostProcessor.java:283)
Caused by: org.springframework.beans.factory.NoSuchBeanDefinitionException: No matching bean of type [teste.dao.CategoriaProdutoDao] found for dependency: expected at least 1 bean which qualifies as autowire candidate for this dependency. Dependency annotations: {}
at org.springframework.beans.factory.support.DefaultListableBeanFactory.raiseNoSuchBeanDefinitionException(DefaultListableBeanFactory.java:903)
at org.springframework.beans.factory.support.DefaultListableBeanFactory.doResolveDependency(DefaultListableBeanFactory.java:772)
at org.springframework.beans.factory.support.DefaultListableBeanFactory.resolveDependency(DefaultListableBeanFactory.java:686)
at org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor$AutowiredMethodElement.inject(AutowiredAnnotationBeanPostProcessor.java:559)
Test teste.dao.imp.DaoGenericoImpTest FAILED
/home/gustavo/java/NetBeansProjects/EstoqueWeb3/nbproject/build-impl.xml:907: Some tests failed; see details above.
FALHA NA CONSTRUÇÃO (tempo total: 4 segundos)
No projeto foi adicionada a biblioteca “Spring Framework 3.0.2.RELEASE”, que acompanha o próprio netbeans 6.9.
Já fiz vários testes e pesquisa, mas não consegui resolver o problema, se alguém puder me ajudar ficarei bem agradecido.