Primeiros passos com Spring

7 respostas
von.juliano
E aí pessoal, tudo certo? É o seguinte, estou começando à utilizar o Spring, mas já tô apanhando no primeiro exemplo. Eu fiz a seguinte classe:
package mundojava13.spring.gerenciador;

import java.util.Iterator;
import org.springframework.beans.factory.BeanFactory;
import org.springframework.beans.factory.xml.XmlBeanFactory;
import org.springframework.core.io.ClassPathResource;

public class PrincipalComIoc {

	public static void main(String[] args) {
		BeanFactory factory = new XmlBeanFactory(new ClassPathResource(
				"gerenciador.xml"));

		GerenciadorEscolar gerenciador = (GerenciadorEscolar) factory
				.getBean("gerenciador");
		gerenciador.inserirCurso(new Curso("Jornalismo", "Comunicação Social"));

		Iterator cursos = gerenciador.listarCursos().iterator();
		while (cursos.hasNext()) {
			System.out.println(cursos.next());
		}
	}
}
Ele me dá o seguinte erro:
log4j:WARN No appenders could be found for logger (org.springframework.core.CollectionFactory).
log4j:WARN Please initialize the log4j system properly.
Exception in thread "main" org.springframework.beans.factory.BeanDefinitionStoreException: IOException parsing XML document from class path resource [gerenciador.xml]; nested exception is java.io.FileNotFoundException: class path resource [gerenciador.xml] cannot be opened because it does not exist
Caused by: java.io.FileNotFoundException: class path resource [gerenciador.xml] cannot be opened because it does not exist
	at org.springframework.core.io.ClassPathResource.getInputStream(ClassPathResource.java:135)
	at org.springframework.beans.factory.xml.XmlBeanDefinitionReader.loadBeanDefinitions(XmlBeanDefinitionReader.java:334)
	at org.springframework.beans.factory.xml.XmlBeanDefinitionReader.loadBeanDefinitions(XmlBeanDefinitionReader.java:317)
	at org.springframework.beans.factory.xml.XmlBeanFactory.<init>(XmlBeanFactory.java:73)
	at org.springframework.beans.factory.xml.XmlBeanFactory.<init>(XmlBeanFactory.java:61)
	at mundojava13.spring.gerenciador.PrincipalComIoc.main(PrincipalComIoc.java:12)
O gerenciador.xml está no mesmo pacote das classes. Alguém sabe o que estou fazendo de errado? Se alguém tb souber de algum bom tutorial, eu agradeço.

Valew! :thumbup:

7 Respostas

von.juliano

Ninguém?

von.juliano

Se alguém tiver o tutorial já ajuda.

guilherme.chapiewski

Já tentou colocar o gerenciador.xml na raiz do src?

von.juliano
Tentei sim Guilherme, pior que eu não sei se ele não tá encontrando o arquivo ou se tem algo errado nele. o xml tá assim:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN//EN"
	"http://www.springframework.org/dtd/spring-beans.dtd"/>

<beans>
	<bean id="gerenciador" class="mundojava13.spring.gerenciador.GerenciadorBasico">
		<property name="cursoDao">
			<ref local="cursoDao" />
		</property>
	</bean>

	<bean id="cursoDao" class="mundojava13.spring.gerenciador.CursoDaoMemoria"></bean>
</beans>
Tá correto? Obrigado pela ajuda!
LUCASESKOPINSKI

Cara altere o seu arquivo xml para mais ou menos assim:

&lt?xml version=“1.0” encoding=“UTF-8”?&gt
<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-2.0.xsd”>

&lt;bean id="gerenciador" class=".seu pacote...GerenciadorBasico"&gt;
	&lt;property name="cursoDao"&gt;
		&lt;ref local="cursoDao" /&gt;
	&lt;/property&gt;
&lt;/bean&gt;

&lt;bean id="cursoDao" class=". seu pacote.......CursoDAO"&gt;&lt;/bean&gt;

</beans>

bland

Juliano,

Eu tive esse mesmo problema e para solucioná-lo eu tive que colocar o caminho todo do arquivo XML. Tenta aí.

Abraço!

sunshine

também já passei pelo mesmo problema e solucionei-o colocando na raiz do meu projeto.

Criado 1 de março de 2007
Ultima resposta 5 de mar. de 2007
Respostas 7
Participantes 5