Bom dia pessoas,
Após ler vários artigos e seguir dicas de alguns colegas aqui (dentre eles Rafael Guerreiro, que tem me ajudado muito), me deparei com a necessidade de fazer a injeção de dependências pelo construtor pelo Spring Framework 3.0.
Vou dar um exemplo simples pra explicar: tenho a classe Pessoa, com o atributo nome.
[code]public class Pesso {
private String nome;
public Pessoa(String nome) {
this.nome = nome;
}
public String getNome() {
return this.nome;
}
}[/code]
Como podem ver, eu não uso o setter - nesse exemplo até poderia usar, mas como estou tentando deixar de programar com modelos anêmicos e mais voltado pra DDD …
E minha jsp apenas contendo um form com um textfield de name = “nome”:
[code]
NOME: |
Com isso, no meu controller, SE eu tivesse colocado um método setter para nome da classe Pessoa, assim:
public void setNome(String nome) {
this.nome = nome;
}
O Spring injetaria essa dependência, assim:
[code]@RequestMapping(value = “teste-pessoa”, method = RequestMethod.POST)
public String carregarPaginaPost(Pessoa pessoa, Model model) {
model.addAttribute("pessoa", pessoa);
return "pessoa-post";
}[/code]
Porém, o que quero é fazer essa injeção de dependência do objeto pessoa pelo construtor da classe Pessoa, e não pelo setter do atributo nome.
Já dei uma pesquisada e vi que consigo fazer isso de maneira programática, mas, além de não conseguir, queria saber se há outra maneira de fazer isso.
Caso algo esteja mal explicado, só dizer que tento melhorar.
Muito obrigado desde já, grande abraço.