quando eu configuro o xml do Spring e atribuo alguns valores do bean nesse xml, eu instanciando a classe ClassPathXmlApplicationContext ja aparecem os atributos que eu coloquei no construtor de uma das classes que configurei no xml, é assim mesmo ou isso é algum erro?Se não é erro não entendi por que aconrece isso.
ainda não descobri oque é
Tentei entender sua dúvida mas não consegui.
Tenta exemplificar ou explicar de outro modo.
[code]public class Pessoa
{
private String nome;
private int idade;
public Pessoa(String a,int b)
{
nome = a;
idade = b;
getNome();
getIdade();
}
public String getNome() {
System.out.println(nome);
return nome;
}
public void setNome(String nome) {
this.nome = nome;
}
public int getIdade() {
System.out.println(idade);
return idade;
}
public void setIdade(int idade) {
this.idade = idade;
}
[/code]
no construtor aqui eu to usando o os métodos get nda classe que tem um print neles, se eu instanciasse a classe normalmente no método main e executasse, beleza, os prints iriam aparecer, mas eu não instanciei a classe pessoa nem com o spring e nem normalmente, e u só atribui os valores do nome e idade pelo spring e isntancie a classe do spring, a ClassPathXmlApplicationContext, e só de fazer isso os valores do ja são printados na tela, eu queria saber por que acontece isso.
Agora entendi.
Quando você faz uso da injeção de dependências do Spring, ele é que vai instanciar as classes para você. E ele faz isso a partir de um construtor. Como você colocou “coisas” em seu construtor, elas serão executadas.
E a chamada a ClassPathXmlApplicationContext faz com que todos os beans do Spring sejam inicializados.
Agora sim, consegui descobrir aqui
eis a resposta
[quote=xxmayconxx]Agora sim, consegui descobrir aqui
eis a resposta
É a solução para o seu caso.
Como não uso a opção lazy-init=“true”, nem lembrava dela.