Injeçao com Spring[RESOLVIDO]

2 respostas
knik

Pessoal, tô quebrando a cabeça com isto, mas sei que é duvida boba:
Eu tenho o seguinte bean anotado no Spring:

<bean id="pessoa"
class="br.com.meuPacote.Pessoa" >     	
   	<property name="nome" value="Maria"/>
   	<property name="fone" value="9999-9999"/>     		
</bean>

E esta classe...

public class Pessoa {

	private String nome;
	private String fone;
	
	public String getNome() {
		return nome;
	}
	public void setNome(String nome) {
		this.nome = nome;
	}
	public String getFone() {
		return fone;
	}
	public void setFone(String fone) {
		this.fone = fone;
	}	
	
}
Então, como é que eu faço para obter os valores que estão lá no Spring (em outra classe - daí injetando Pessoa), algo como:
public void pegaNomePessoa(){
	Pessoa pessoa = new Pessoa();
	System.out.println(pessoa.getNome());		
}
Desculpem a injenuidade, mas eu consigo setar os valores (da classe java para o spring), mas não consigo obter os valores (do spring para a classe java). Obrigado a todos que puderem me ajudar.

2 Respostas

L

Vc tem que inicializar o contexto do Spring e pegar a Pessoa do contexto.

ApplicationContext context = new ClassPathXmlApplicationContext(new String[]{"applicationContext.xml"}); // Assumindo que o xml de configuracao esteja no classpath e com o nome applicationContext.xml Pessoa pessoa = (Pessoa) context.getBean("pessoa"); // O ID do XML // OU Pessoa pessoa = context.getBean(Pessoa.class);

knik

É isto mesmo, obrigado - deu certo.

Criado 29 de novembro de 2011
Ultima resposta 12 de dez. de 2011
Respostas 2
Participantes 2