Alguém sabe oq está errado c esse prog c Spring?

3 respostas
usphisics

Pessoal fui fazer esse exemplo c Spring e não consigo rodar o mesmo…
Estou c as blib ok (commons-logging; log4j; spring e spring-aspects)

A estrutura do meu projeto está assim:
SRC
beans
Cliente.java
Sistema.java
SistemaImpl.java

dao
      ClienteDao.java
      ClienteHibernateDao.java
 
  main
      Aplicacao.java

Onde beans, dao e main são os pacotes q criei…

Lá vão os meus códigos;

Cliente.java:

package beans;

public class Cliente {
	private int id;
	private String nome;
	
	
	public int getId(){
		return id;
	}
	public void setId(int id){
		this.id = id;
	}
	
	public String getNome(){
		return nome;
	}
	public void setNome(String nome){
		this.nome = nome;
	}

}

Sistema.java

package beans;

import java.util.*;

public interface Sistema {

	public Collection getClientes();
	public void incluirCliente(Cliente cliente);
	
}

SistemaImpl.java

package beans;

import java.util.*;
import dao.ClienteDao;

public class SistemaImpl implements Sistema{
	
	private ClienteDao clienteDao;

	
	public Collection getClientes(){
		return clienteDao.getClientes();
	}
	
	public void incluirCliente(Cliente cliente){
		clienteDao.incluirCliente(cliente);
	}
	
	public ClienteDao getDaoCliente(){
		return clienteDao;
	}
	
	public void setDaoCliente(ClienteDao clienteDao){
		this.clienteDao = clienteDao;
	}
	
}

ClienteDao.java

package dao;

import java.util.*;
import beans.Cliente;

public interface ClienteDao {
	
	public Collection getClientes();
	public void incluirCliente(Cliente cliente);
	
}

ClienteHibernateDao.java

package dao;

import java.util.*;
import beans.Cliente;

public class ClienteHibernateDao implements ClienteDao{

	public Collection getClientes(){
		System.out.println("Listagem");
		
		Collection list = new ArrayList();
		Cliente c1 = new Cliente();
		Cliente c2 = new Cliente();
		Cliente c3 = new Cliente();
		
		list.add(c1);
		list.add(c2);
		list.add(c3);
		
		return list;
	}

	public void incluirCliente(Cliente cliente){
		System.out.println("Cliente Incuído.");
	}
	
	
}

O arq XML de configuração do Spring:
applicationContext.xml

<?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="Sistema" class="beans.SistemaImpl">
			<property name="clienteDao" ref="ClienteDao"></property>	
	</bean>
	
	<bean id="ClienteDao" class="dao.ClienteHibernateDao">
    </bean>

</beans>

E finalmente a aplicação em si c o Main:
Aplicacao.java

package main;

import org.springframework.beans.factory.xml.*;
import org.springframework.core.io.*;
import beans.Sistema;
import beans.Cliente;

public class Aplicacao {

	public static void main ( String[] args ) {
		
		XmlBeanFactory factory = new XmlBeanFactory(new FileSystemResource("applicationContext.xml"));
		
		Sistema sistema = (Sistema)factory.getBean("Sistema");
		sistema.incluirCliente ( new Cliente() ) ;
	}

}

3 Respostas

maiconramones

Ta e não consegue rodar pq? lança alguma exceção ou algo gênero?

usphisics

Cara agora está rodando…o pau era no XML mas aonde exatamente não sei…
Refiz ele e agora está funfando de boa…
Olha ele aí:

<?xml version="1.0" encoding="UTF-8"?>
usphisics

É estranho né…pode ter sido algum caracter q não aparecia sei lá…

Agora vou colocar p rodar junto c o Hibernate…mal comecei e já tenho algumas dúvidas…

No meu caso o meu mapeamento c o Hibernate foi feito c Anotações e a configuração tb…
Assim não tenho os XML´s do Hibernate…

Tudo q vejo p o Spring usa as configurações e os mapeamento usando os XML´s do Hibernate…
Alguém sabe se existe alguma forma de setar os .java do meu mapeamento ???

Até + pessoa…e viva o Spring e o Hibernate…

Criado 12 de fevereiro de 2008
Ultima resposta 12 de fev. de 2008
Respostas 3
Participantes 2