eu odeio xml
Isso é um fato. Cada linha de XML que eu escrevo me faz pensar em formas de evita-las. E isso não é simples.
Ultimamente, desde o Java 5, tem se trocado o XML pelas annotations. Tá bom, fica bonitinho né? Até que fica. Em alguns casos, até mais organizado. O Hibernate desde a versão 3 faz uso das annotaions da JPA como alernativa ao seu XML de configuração. E esse sim é um belo caso de sucesso!
São apenas algumas anotações na classe para mapea-la e pronto, adeus xml! Mas como sempre, as anotações já estão sendo exageradas por aÃ. Basta decidir configurar uns 3 frameworks - e provavelmente dois deles são descenessários no seu projeto - usando anotações e as suas classes ficarão uma zona! E muito mais ilegÃveis que um arquivo XML!
As anotações são recursos muito poderosos e devem ser usadas de forma consciente. Use as que realmente valem a pena, como as que vou falar agora, que fazem parte da nova release do Spring framework, a 2.5 RC1.
O Spring é - dentre outras coisas - um dos mais falados containeres de injeção de dependência nos dias de hoje. Esse mecanismo sempre funcionou da seguinte forma:
Imagine uma classe que atua como um façade, digamos LocadoraFacade, que declara dependencia de um objeto DAO:
[java]
public class LocadoraFacade {
private DAO dao;
public void setDao(){}
public void incluirDvd(Dvd dvd){}
}
}
[/java]
No xml de configuração do Spring, eu teria 2 beans registrados:
[xml]
[/xml]Lindo não? Agora multiplique essas entradas pelo número de beans que você normalmente tem numa aplicação. E não esqueça das dependências de cada um desses beans. Imaginou?
Isso mesmo! Eca!
Existem formas de dar uma simplificada nesse XML, mas vou focar na forma que mais gosto, as novas anotações @Component, @Autowired e @Qualifier. Com essas anotações, seu arquivo de configuração cai de centenas para apenas algumas linhas de XML! Vale a pena dar uma pesquisada, ou aguardar meu próximo post, onde darei mais detalhes de como essas anotações funcionam no contexto Spring.