terça-feira, março 13, 2007

Ganhe um exemplar do livro EJB 3 in Action !!!

O javaranch.com esta sorteando alguns exemplares do livro EJB3 in Action. Basta criar ou responder um tópico sobre o livro no forum EJB and Other Java EE Technologies .

A promoção para posts entre os dias 13/03/2007 até 16/03/2007. Os autores Debu Panda, Reza Rahman e Derek Lane estarão disnopíveis para responder os tópicos criados. As chances são pequenas mas também não custa tentar.

Detalhes aqui no javaranch

Google Guice - Um ultra-lightweight dependency injection container

A injeção de dependência é um recurso formidável que tem se popularizado entre os desenvolvedores Java através do Spring framework. O Google acaba de liberar o código do seu próprio framework de injeção de dependência baseado em Java 5.

Quando vi o anúncio pensei (assimo como você também pode estar pensando), pra quê mais um
framework de injeção de dependência? Mal comecei a aprender Spring!

Ainda não experimentei o framework mais pense bem - ele esta sendo utilizado no unipresente AdWords, o sistema de anuncios do Google. As comparações com o Spring são inevitáveis. Enquanto o Spring fornece uma série de recursos ao desenvolvedor o foco do Guice (se pronuncia juice) é apenas a injeção de dependência. Utilizando recursos do Java 5 com anotações e tipos genéricos o framework dispensa o uso de arquivos XML para sua configuração e, segundo seus criadores, torna o código menor.

Um exemplo seria:
@Inject
public void setVendaDao(VendaDao dao) {
...
}
Você pode se perguntar - E quando eu não tenho o fonte para adicionar as anotações, uso XML? Não, nesse caso você pode criar um Custom Provider, uma pequena classe Java que fara o trabalho. Essas classes costumam ser menores e mais legíveis do que seus equivalentes arquivos XML do Spring.

A qualidade do software parece inquestionável, uma vez que esta em produção em um serviço de nível mundial. Porem por estar no início eu acredito que ele possa sofrer muitas alterações ainda. Por outro lado temos o Spring que já tem uma API estável. Espero poder codificar algo em breve para poder emitir uma opinião pessoal.