Boa noite Amigos do Fórum,
Estou implementando um exemplo sobre utilização de Spring para aplicações web, entretanto estou com problemas na hora de obter a leitura do applicationContext.
Criei uma classe de teste para ver se o meu método gravar esta funcionando corretamente i o código o método de teste é o seguinte:
@Test
public void testGravar() {
ApplicationContext context = new ClassPathXmlApplicationContext("applicationContext.xml");
Usuario usuarioTeste = new Usuario();
usuarioTeste.setLogin("guest");
usuarioTeste.setNome("Guest");
usuarioTeste.setSenha("guest");
System.out.println("Tentando Gravar Usuário");
UsuarioFacade instance = (UsuarioFacade) context.getBean("usuarioFacade");
Usuario result = instance.gravar(usuarioTeste);
try {
assertNotNull(result.getIdUsuario());
} catch (AssertionError e) {
fail("Falhou a gravação do usuário");
}
}
i o meu applicationContext esta da seguinte maneira:
<?xml version="1.0" encoding="UTF-8"?>
<!--
Document : applicationContext.xml
Created on : February 22, 2012, 9:50 PM
Author : markos
Description: XML de configuração do SPRING
-->
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:aop="http://www.springframework.org/schema/aop"
xmlns:tx="http://www.springframework.org/schema/tx"
xmlns:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.0.xsd
http://www.springframework.org/schema/aop/ http://www.springframework.org/schema/aop/spring-aop-2.0.xsd
http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-2.0.xsd">
<bean id="propertyConfigurer" class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">
<property name="location" value="classpath:/jdbc.properties" />
</bean>
<bean id="dataSource" class="com.mchange.v2.cp3p0.ComboPooledDataSource" destroy-method="close">
<property name="driverClass" value="${jdbc.driverClassName}" />
<property name="jdbcUrl" value="${jdbc.url}" />
<property name="user" value="${jdbc.username}" />
<property name="password" value="${jdbc.password}" />
</bean>
<bean id="entityManagerFactory" class="org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean">
<property name="dataSource" ref="dataSource" />
<property name="jpaVendorAdapter">
<bean class="org.springframework.orm.jpa.vendor.HibernateJpaVendorAdapter">
<property name="showSql" value="true" />
<property name="generateDdl" value="false" />
<property name="databasePlatform" value="org.hibernate.dialect.MySQLDialect"/>
</bean>
</property>
</bean>
<bean id="transactionManager" class="org.springframework.orm.jpa.JpaTransactionManager">
<property name="entityManagerFactory" ref="entityManagerFactory" />
</bean>
<tx:annotation-driven />
<bean class="org.springframework.orm.jpa.support.PersistenceAnnotationBeanPostProcessor" />
<bean class="org.springframework.dao.annotation.PersistenceExceptionTranslationPostProcessor" />
<bean id="usuario" class="dominio.Usuario" scope="session" />
<bean id="usuarioDAO" class="dao.UsuarioDAO" />
<bean id="usuarioFacade" class="facade.UsuarioFacade">
<property name="usuarioDAO" ref="usuarioDAO" />
</bean>
<bean id="contato" class="dominio.Contato" scope="session" />
<bean id="contatoDAO" class="dao.ContatoDAO" />
<bean id="contatoFacade" class="facade.ContatoFacade">
<property name="contatoDAO" ref="contatoDAO" />
</bean>
<bean id="endereco" class="dominio.Endereco" scope="session" />
<bean id="enderecoDAO" class="dao.EnderecoDAO" />
<bean id="enderecoFacade" class="facade.EnderecoFacade">
<property name="enderecoDAO" ref="enderecoDAO" />
</bean>
<bean id="meioContato" class="dominio.MeioContato" scope="session" />
<bean id="meioContatoDAO" class="dao.MeioContatoDAO" />
<bean id="meioContatoFacade" class="facade.MeioContatoFacade">
<property name="meioContatoDAO" ref="meioContatoDAO" />
</bean>
</beans>
meu arquivo de properties:
jdbc.driverClassName=com.mysql.jdbc.Driver
jdbc.url=jdbc:mysql://localhost:3306/agenda
jdbc.username=root
jdbc.password=admin
A exceção que esta sendo levantada é a seguinte:
WARNING: multiple versions of ant detected in path for junit
jar:file:/home/markos/netbeans-6.9.1/java/ant/lib/ant.jar!/org/apache/tools/ant/Project.class
and jar:file:/home/markos/NetBeansProjects/agenda-jar/lib/Hibernate/ant-1.6.5.jar!/org/apache/tools/ant/Project.class
Testsuite: facade.UsuarioFacadeTest
Feb 24, 2012 7:23:12 PM org.springframework.context.support.AbstractApplicationContext prepareRefresh
INFO: Refreshing org.springframework.context.support.ClassPathXmlApplicationContext@4d865b28: display name [org.springframework.context.support.ClassPathXmlApplicationContext@4d865b28]; startup date [Fri Feb 24 19:23:12 BRST 2012]; root of context hierarchy
Feb 24, 2012 7:23:12 PM org.springframework.beans.factory.xml.XmlBeanDefinitionReader loadBeanDefinitions
INFO: Loading XML bean definitions from class path resource [applicationContext.xml]
Tests run: 9, Failures: 0, Errors: 1, Time elapsed: 0.186 sec
------------- Standard Error -----------------
Feb 24, 2012 7:23:12 PM org.springframework.context.support.AbstractApplicationContext prepareRefresh
INFO: Refreshing org.springframework.context.support.ClassPathXmlApplicationContext@4d865b28: display name [org.springframework.context.support.ClassPathXmlApplicationContext@4d865b28]; startup date [Fri Feb 24 19:23:12 BRST 2012]; root of context hierarchy
Feb 24, 2012 7:23:12 PM org.springframework.beans.factory.xml.XmlBeanDefinitionReader loadBeanDefinitions
INFO: Loading XML bean definitions from class path resource [applicationContext.xml]
------------- ---------------- ---------------
Testcase: testGravar(facade.UsuarioFacadeTest): Caused an ERROR
Line 16 in XML document from class path resource [applicationContext.xml] is invalid; nested exception is org.xml.sax.SAXParseException: cvc-elt.1: Cannot find the declaration of element 'beans'.
org.springframework.beans.factory.xml.XmlBeanDefinitionStoreException: Line 16 in XML document from class path resource [applicationContext.xml] is invalid; nested exception is org.xml.sax.SAXParseException: cvc-elt.1: Cannot find the declaration of element 'beans'.
at org.springframework.beans.factory.xml.XmlBeanDefinitionReader.doLoadBeanDefinitions(XmlBeanDefinitionReader.java:369)
at org.springframework.beans.factory.xml.XmlBeanDefinitionReader.loadBeanDefinitions(XmlBeanDefinitionReader.java:313)
at org.springframework.beans.factory.xml.XmlBeanDefinitionReader.loadBeanDefinitions(XmlBeanDefinitionReader.java:290)
at org.springframework.beans.factory.support.AbstractBeanDefinitionReader.loadBeanDefinitions(AbstractBeanDefinitionReader.java:142)
at org.springframework.beans.factory.support.AbstractBeanDefinitionReader.loadBeanDefinitions(AbstractBeanDefinitionReader.java:158)
at org.springframework.beans.factory.support.AbstractBeanDefinitionReader.loadBeanDefinitions(AbstractBeanDefinitionReader.java:184)
at org.springframework.context.support.AbstractXmlApplicationContext.loadBeanDefinitions(AbstractXmlApplicationContext.java:112)
at org.springframework.context.support.AbstractXmlApplicationContext.loadBeanDefinitions(AbstractXmlApplicationContext.java:79)
at org.springframework.context.support.AbstractRefreshableApplicationContext.refreshBeanFactory(AbstractRefreshableApplicationContext.java:97)
at org.springframework.context.support.AbstractApplicationContext.obtainFreshBeanFactory(AbstractApplicationContext.java:411)
at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:338)
at org.springframework.context.support.ClassPathXmlApplicationContext.<init>(ClassPathXmlApplicationContext.java:122)
at org.springframework.context.support.ClassPathXmlApplicationContext.<init>(ClassPathXmlApplicationContext.java:66)
at facade.UsuarioFacadeTest.testGravar(UsuarioFacadeTest.java:49)
Caused by: org.xml.sax.SAXParseException: cvc-elt.1: Cannot find the declaration of element 'beans'.
at com.sun.org.apache.xerces.internal.util.ErrorHandlerWrapper.createSAXParseException(ErrorHandlerWrapper.java:195)
at com.sun.org.apache.xerces.internal.util.ErrorHandlerWrapper.error(ErrorHandlerWrapper.java:131)
at com.sun.org.apache.xerces.internal.impl.XMLErrorReporter.reportError(XMLErrorReporter.java:384)
at com.sun.org.apache.xerces.internal.impl.XMLErrorReporter.reportError(XMLErrorReporter.java:318)
at com.sun.org.apache.xerces.internal.impl.xs.XMLSchemaValidator.handleStartElement(XMLSchemaValidator.java:1916)
at com.sun.org.apache.xerces.internal.impl.xs.XMLSchemaValidator.startElement(XMLSchemaValidator.java:705)
at com.sun.org.apache.xerces.internal.impl.XMLNSDocumentScannerImpl.scanStartElement(XMLNSDocumentScannerImpl.java:400)
at com.sun.org.apache.xerces.internal.impl.XMLNSDocumentScannerImpl$NSContentDriver.scanRootElementHook(XMLNSDocumentScannerImpl.java:626)
at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl$FragmentContentDriver.next(XMLDocumentFragmentScannerImpl.java:3103)
at com.sun.org.apache.xerces.internal.impl.XMLDocumentScannerImpl$PrologDriver.next(XMLDocumentScannerImpl.java:922)
at com.sun.org.apache.xerces.internal.impl.XMLDocumentScannerImpl.next(XMLDocumentScannerImpl.java:648)
at com.sun.org.apache.xerces.internal.impl.XMLNSDocumentScannerImpl.next(XMLNSDocumentScannerImpl.java:140)
at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.scanDocument(XMLDocumentFragmentScannerImpl.java:511)
at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:808)
at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:737)
at com.sun.org.apache.xerces.internal.parsers.XMLParser.parse(XMLParser.java:119)
at com.sun.org.apache.xerces.internal.parsers.DOMParser.parse(DOMParser.java:235)
at com.sun.org.apache.xerces.internal.jaxp.DocumentBuilderImpl.parse(DocumentBuilderImpl.java:284)
at org.springframework.beans.factory.xml.DefaultDocumentLoader.loadDocument(DefaultDocumentLoader.java:78)
at org.springframework.beans.factory.xml.XmlBeanDefinitionReader.doLoadBeanDefinitions(XmlBeanDefinitionReader.java:361)
Test facade.UsuarioFacadeTest FAILED
test:
Deleting: /tmp/TEST-facade.UsuarioFacadeTest.xml
BUILD SUCCESSFUL (total time: 1 second)
O erro é levantado ao passar pela linha:
ApplicationContext context = new ClassPathXmlApplicationContext("applicationContext.xml");
Será que alguém poderia me dar uma luz do que estou fazendo de errado ou deixando de fazer ????
Desde já agradeço pela ajuda de todos.
:lol: