| Autor |
Mensagem |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 28/09/2008 22:23:16
|
Fabio Kung
JavaEvangelist
Membro desde: 08/03/2004 08:24:47
Mensagens: 425
Localização: São Paulo
Offline
|
na verdade eu estava falando da especificação WebBeans, que está para sair e vai entrar no Java EE 6:
http://www.seamframework.org/WebBeans
Ainda não é final, mas eu tenho mexido bastante sim! Tem bastante coisa interessante que veio do Guice, Seam, Spring... Vale a pena dar uma olhada para estar preparado.
|
http://blog.caelum.com.br
Fabio Kung
|
|
|
 |
|
|
![[Post New]](/templates/default/images/icon_minipost_new.gif) 29/09/2008 07:54:02
|
mtosatti
Debugger
![[Avatar]](/images/avatar/c9f2f917078bd2db12f23c3b413d9cba.jpg)
Membro desde: 05/06/2006 16:18:04
Mensagens: 55
Offline
|
marcosalex wrote:Uma desvantagem que eu vejo é o código ficar mais "poluido".
Outra coisa é que se você quiser alterar alguma configuração,vai ter necessariamente de recompilar sua aplicação e dar um deploy novamente, enquanto no xml seria somente editar o arquivo.
O xml não "sobrescreve" as anotações?
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 29/09/2008 09:14:43
|
Jair Rillo Junior
Moderador
![[Avatar]](/images/avatar/31b3b31a1c2f8a370206f111127c0dbd.jpg)
Membro desde: 29/04/2003 21:19:53
Mensagens: 1949
Localização: São Paulo
Offline
|
mtosatti wrote:
marcosalex wrote:Uma desvantagem que eu vejo é o código ficar mais "poluido".
Outra coisa é que se você quiser alterar alguma configuração,vai ter necessariamente de recompilar sua aplicação e dar um deploy novamente, enquanto no xml seria somente editar o arquivo.
O xml não "sobrescreve" as anotações?
Não em 100% dos casos, mas na maioria sim.
Por exemplo, com EJB3 se você definir um SessionBean para Stateless via anotação, você não pode definir ele como Statefull via XML. Nesse caso o XML não sobrescreve a anotação, porém na grande maioria sobrescreve sim (na verdade, esse é o único caso que eu sei que não sobrescreve).
|
Jair Rillo Junior
http://www.jairrillo.com | http://www.jairrillo.com/blog | Twitter |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 29/09/2008 14:21:04
|
faelcavalcanti
Virtual Machine Man
![[Avatar]](/images/avatar/04f2a4140112ae491f66a1c558df795f.jpg)
Membro desde: 03/05/2006 13:16:25
Mensagens: 726
Localização: Recife-PE
Offline
|
Jair Rillo Junior wrote:Por exemplo, com EJB3 se você definir um SessionBean para Stateless via anotação, você não pode definir ele como Statefull via XML.
essa é uma situação onde o cara não sabe o que quer, ao configurar desta forma.
|
http://faelcavalcanti.wordpress.com/ :: http://pe.debianbrasil.org/
--
Acredite um pouco mais na força de sua própria intuição. Muitas vezes deixamos de realizar algo de bom ou que nos favoreça simplesmente porque achamos tudo muito difícil e por isso nem começamos. Moral da história: A vida é o caminho e não o destino, você é o arquiteto do seu caminho!
--
Obrigado, Rafa Rocha! |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 29/09/2008 14:26:32
|
Jair Rillo Junior
Moderador
![[Avatar]](/images/avatar/31b3b31a1c2f8a370206f111127c0dbd.jpg)
Membro desde: 29/04/2003 21:19:53
Mensagens: 1949
Localização: São Paulo
Offline
|
faelcavalcanti wrote:
Jair Rillo Junior wrote:Por exemplo, com EJB3 se você definir um SessionBean para Stateless via anotação, você não pode definir ele como Statefull via XML.
essa é uma situação onde o cara não sabe o que quer, ao configurar desta forma.
A questão não é que "a pessoa" não sabe o que quer, pois em teoria, quando se trabalha com EJB3 existem várias roles, assim a role do bean provider (quem fez o componente) pode ser sobrescrita pela role do deployer (quem vai fazer o deploy da aplicação). Mas como eu disse, esse é o unico caso onde o XML não sobrescreve a anotação, pelo contrário, gera problema
|
Jair Rillo Junior
http://www.jairrillo.com | http://www.jairrillo.com/blog | Twitter |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 29/09/2008 15:30:26
|
faelcavalcanti
Virtual Machine Man
![[Avatar]](/images/avatar/04f2a4140112ae491f66a1c558df795f.jpg)
Membro desde: 03/05/2006 13:16:25
Mensagens: 726
Localização: Recife-PE
Offline
|
Jair Rillo Junior wrote:A questão não é que "a pessoa" não sabe o que quer, pois em teoria, quando se trabalha com EJB3 existem várias roles, assim a role do bean provider (quem fez o componente) pode ser sobrescrita pela role do deployer (quem vai fazer o deploy da aplicação).
isto poderia acontecer entre o Bean Provider e Application Assemlbler e não o Deployer. O Deployer resolve todas as dependências externas configuradas pelos Bean Provider e Application Assemlbler, ele não interfere ou deveria interferir neste aspecto.
mas pode sim acontecer, se a conversa não for bem feita entre ambos.
Jair Rillo Junior wrote:Mas como eu disse, esse é o unico caso onde o XML não sobrescreve a anotação, pelo contrário, gera problema
e como gera!
|
http://faelcavalcanti.wordpress.com/ :: http://pe.debianbrasil.org/
--
Acredite um pouco mais na força de sua própria intuição. Muitas vezes deixamos de realizar algo de bom ou que nos favoreça simplesmente porque achamos tudo muito difícil e por isso nem começamos. Moral da história: A vida é o caminho e não o destino, você é o arquiteto do seu caminho!
--
Obrigado, Rafa Rocha! |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 30/09/2008 14:49:25
|
ualex
JavaGuru
Membro desde: 26/08/2004 18:45:26
Mensagens: 221
Offline
|
a uns 3 anos atras o "certo" era xml! dae foi xml para todo lado, tudo(configurações) tinha que esta em xml senão...., agora evoluimos agora tudo é annotations! tudo tem annotations, o hibernate,spring tem, ejb tem, jpa, guice, struts... agora me diga será que daqui 03 anos não muda novamente ? quem sabe um retorno ao XML ?
This message was edited 1 time. Last update was at 30/09/2008 14:49:49
|
http://www.alexflorentino.com |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 30/09/2008 15:00:50
|
victorwss
Forum Spammer
![[Avatar]](/images/avatar/4ab232445f9b21b65dfdf6ea5f27f704.png)
Membro desde: 18/12/2007 14:46:00
Mensagens: 1793
Localização: São Paulo - SP
Offline
|
ualex wrote:a uns 3 anos atras o "certo" era xml! dae foi xml para todo lado, tudo(configurações) tinha que esta em xml senão...., agora evoluimos  agora tudo é annotations! tudo tem annotations, o hibernate,spring tem, ejb tem, jpa, guice, struts... agora me diga será que daqui 03 anos não muda novamente ? quem sabe um retorno ao XML ?
Bem, ainda bem que acordaram e começaram a perceber que XML é uma merda. Um dia quem sabe, quiçá, essa merda será completamente extirpada da face da Terra.
Quanto a annotations, o que poderia vir a substituí-la seria programação tradicional sem XML e nem annotations ou qualquer outra maluquice que inventem no lugar. 100% programático!
Mas, algo que seria legal e infelizmente não tem, seria colocar e retirar annotations de classes, métodos, atributos e parâmetros em tempo de execução, além de annotations mutáveis. Isso daria bastante flexibilidade ao desenvolvedor.
Outra coisa que poderia vir no lugar de annotations seriam closures.
|
Victor Williams Stafusa da Silva
{Bacharel em Ciência da Computação - UFMT} {Especialista em Desenvolvimento Java - CEFET/MT}
{SCJP 6.0 - 19/12/2007 - PASS - 88%} {SCWCD 5 - 17/05/2008 - PASS - 79%} {SCJA - 09/09/2008 - PASS - 96%}
{Próximos: SCJD (encalhado com o projeto), SCBCD (estudando), SCSNI. Algum dia desses: SCMAD, OCA, SCEA e SCDJWS.}
Computação: uma ciência holística e esotérica!
E então veio Deus a terra e disse aos homens: Não dividireis por zero.
XML is a giant step in no direction at all. (Erik Naggum)
Arquitetura de sistemas: Eu prefiro ser essa metamorfose ambulante do que ter aquela velha opinião formada sobre tudo.
Always code as if the person who will maintain your code is a maniac serial killer that knows where you live.
I am the maniac serial killer that knows where you live who will maintain your code.
Diga não as drogas: Não use java.util.Vector. |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 30/09/2008 15:47:15
|
Jair Rillo Junior
Moderador
![[Avatar]](/images/avatar/31b3b31a1c2f8a370206f111127c0dbd.jpg)
Membro desde: 29/04/2003 21:19:53
Mensagens: 1949
Localização: São Paulo
Offline
|
ualex wrote:a uns 3 anos atras o "certo" era xml! dae foi xml para todo lado, tudo(configurações) tinha que esta em xml senão...., agora evoluimos  agora tudo é annotations! tudo tem annotations, o hibernate,spring tem, ejb tem, jpa, guice, struts... agora me diga será que daqui 03 anos não muda novamente ? quem sabe um retorno ao XML ?
Dependendo do caso, a Convention over configuration http://en.wikipedia.org/wiki/Convention_over_Configuration pode ser melhor que Annotation (vide o VRaptor ou Rails).
|
Jair Rillo Junior
http://www.jairrillo.com | http://www.jairrillo.com/blog | Twitter |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 01/10/2008 22:01:41
|
faelcavalcanti
Virtual Machine Man
![[Avatar]](/images/avatar/04f2a4140112ae491f66a1c558df795f.jpg)
Membro desde: 03/05/2006 13:16:25
Mensagens: 726
Localização: Recife-PE
Offline
|
Jair Rillo Junior wrote:Convention over configuration pode ser melhor que Annotation (vide o VRaptor ou Rails).
em que situações, não entendi? exemplifique melhor!
acho que li sobre este padrão no livro de DDD. vou dar uma olhada.
|
http://faelcavalcanti.wordpress.com/ :: http://pe.debianbrasil.org/
--
Acredite um pouco mais na força de sua própria intuição. Muitas vezes deixamos de realizar algo de bom ou que nos favoreça simplesmente porque achamos tudo muito difícil e por isso nem começamos. Moral da história: A vida é o caminho e não o destino, você é o arquiteto do seu caminho!
--
Obrigado, Rafa Rocha! |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 02/10/2008 06:20:49
|
renatocustodio
JavaGuru
![[Avatar]](/images/avatar/7e3da1dca2700e3225382921dd70b8c7.jpg)
Membro desde: 04/03/2008 07:21:24
Mensagens: 220
Offline
|
faelcavalcanti wrote:
Jair Rillo Junior wrote:Convention over configuration pode ser melhor que Annotation (vide o VRaptor ou Rails).
em que situações, não entendi? exemplifique melhor!
acho que li sobre este padrão no livro de DDD. vou dar uma olhada.
Por exemplo o vraptor usa isso para o modo como vc tem que acessar suas actions. Não precisa ter um xml ou annotation dizendo que pra vc acessar o método x da classe y precisa chamar pelo nome z. Pelo próprio nome da classe e do método já fica como vai ser a chamada a ela. O Struts 2 tbm possui um plugin para fazer algo bem semelhante.
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 02/10/2008 08:23:12
|
Jair Rillo Junior
Moderador
![[Avatar]](/images/avatar/31b3b31a1c2f8a370206f111127c0dbd.jpg)
Membro desde: 29/04/2003 21:19:53
Mensagens: 1949
Localização: São Paulo
Offline
|
Como o Renato disse, através da chamada ao método você já informa qual ação e método serão executados.
Faz tempo que não vejo o VRaptor, mas no Rails é assim: Se você chama a seguinte URL: http://suaaplicacao/clientes/cadastro, o Rails irá chamar a Action ClientesAction e o método cadastro, sem XML ou Annotation para mapear essa Action/método. Bem mais simples né?
Não sabia desse Plugin do Struts 2, vou ver se dou um olhada nele
|
Jair Rillo Junior
http://www.jairrillo.com | http://www.jairrillo.com/blog | Twitter |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 02/10/2008 09:10:46
|
David
JavaEvangelist
![[Avatar]](/images/avatar/77431ca7981f1f1483ae8a58bcbb6e0e.jpg)
Membro desde: 18/03/2005 13:10:33
Mensagens: 442
Localização: Natal/RN
Offline
|
Jair Rillo Junior wrote:Faz tempo que não vejo o VRaptor, mas no Rails é assim: Se você chama a seguinte URL: http://suaaplicacao/clientes/cadastro, o Rails irá chamar a Action ClientesAction e o método cadastro, sem XML ou Annotation para mapear essa Action/método. Bem mais simples né?
Na verdade seria ClientesController, e não ClientesAction. O Spring MVC também tem algo parecido:
A URL /clientes/cadastro chama o método cadastro() de ClientesController. Mais informações: http://blog.springsource.com/2007/11/14/annotated-web-mvc-controllers-in-spring-25/
|
David Pereira
Engenheiro de Computação - UFRN
Mestre em Engenharia Elétrica
Doutorando em Engenharia Elétrica |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 02/10/2008 09:13:10
|
Jair Rillo Junior
Moderador
![[Avatar]](/images/avatar/31b3b31a1c2f8a370206f111127c0dbd.jpg)
Membro desde: 29/04/2003 21:19:53
Mensagens: 1949
Localização: São Paulo
Offline
|
Obrigado pela correção David
Mas então, pelo que eu vi no seu exemplo, você ainda precisa usar duas annotations para isso funcionar, correto? (Não conheço Spring MVC)
|
Jair Rillo Junior
http://www.jairrillo.com | http://www.jairrillo.com/blog | Twitter |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 02/10/2008 09:23:52
|
David
JavaEvangelist
![[Avatar]](/images/avatar/77431ca7981f1f1483ae8a58bcbb6e0e.jpg)
Membro desde: 18/03/2005 13:10:33
Mensagens: 442
Localização: Natal/RN
Offline
|
Jair Rillo Junior wrote:Mas então, pelo que eu vi no seu exemplo, você ainda precisa usar duas annotations para isso funcionar, correto? (Não conheço Spring MVC)
É, elas são necessárias. A convenção ai seria usar o nome da classe e do método como padrões para a url, já que é possível fazer coisas como @Controller("outroNome") e @RequestMapping("outroNome"). O Spring utiliza um classpath scanner para buscar beans, e os que possuem a anotação @Controller são expostos via HTTP. O @RequestMapping seria para você poder ter métodos que são expostos e outros que não são. Mas o Spring é bem personalizável (customizável?), de forma que é possível você alterar o comportamento padrão e utilizar esse tipo de convenção sem precisar das anotações.
|
David Pereira
Engenheiro de Computação - UFRN
Mestre em Engenharia Elétrica
Doutorando em Engenharia Elétrica |
|
|
 |
|
|