| Autor |
Mensagem |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 28/09/2010 09:43:44
|
Fabio "Kym" Nascimento
JavaChild
![[Avatar]](/images/avatar/78cb63acd2888606f925551760b69f54.png)
Membro desde: 23/08/2008 23:04:58
Mensagens: 124
Offline
|
Pessoal fiz um sistema usando VRaptor e Hibernate como projeto para um curso de Desenvolvimento Web e estou disponibilizando se alguém quiser baixar, talvez ajude os iniciantes.
O projeto é basicamente uma lojinha virtual, bem simples, porém tem mais recursos do que a que vem com o VRaptor (aquela de DVD).
Tem a parte de mapeamento das classes para o Hibernate, usando Annotations, com tipos de relacionamentos variados, parte de acesso a dados com Dao, GenericDao, Sessions, UserSessions, tem a parte do Carrinho (Cart) que usa um modelo que não é persistido, e uma restrição para somente o usuário logado fazer determinadas coisas. Nada complexo, mas o código ficou enxuto e pode servir de base pra quem tem dúvidas ou quer iniciar com o VRaptor. Ainda não terminei o projeto, falta adicionar o usuário admin e colocar algumas restrições de acesso, mas já pode ajudar alguém.
EDIT: Ah tem também uma integração com o PagSeguro do UOL.
Se alguém quiser ver o sistema funcionando:
http://latosensu.dc.ufscar.br:16080/extrajudicial/
Como é um ambiente compartilhado, direto o tomcat caii, se tiver fora do ar da um reply que eu subo ele quando ver.
E pra quem quiser fazer um checkout:
http://code.google.com/p/extrajudicial/source/checkout
Eu fiz o projeto no Eclipse, então é só dar um Import lá que ta tudo certo. Pra rodar o sistema é só abrir o hibernate.cfg.xml e configurar o user e senha do MySQL, depois só rodar a classe CreateDabatase como Java Application e rodar o projeto com Run on Server, já é pra funcionar.
Abraços.
This message was edited 1 time. Last update was at 28/09/2010 22:45:40
|
Por mais que você domine algum tema, sempre há algo a aprender sobre ele.
|
|
|
 |
|
|
![[Post New]](/templates/default/images/icon_minipost_new.gif) 28/09/2010 16:18:08
|
malayout
Thread.start()
Membro desde: 22/05/2007 11:16:08
Mensagens: 42
Offline
|
O Sistema ficou legal.
Parabens.
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 28/09/2010 21:21:36
|
Lucas Cavalcanti
GUJ Hacker
![[Avatar]](/images/avatar/5f6780632f5d27dd0cded5fc9361169e.jpg)
Membro desde: 08/07/2007 00:08:14
Mensagens: 6395
Offline
|
Ficou legal o sistema.
Dicas:
- se a grande maioria das lógicas precisa de autenticação, crie uma anotação que fale que ela não precise, tipo um @NotRequiresUser, daí vc precisa anotar menos lógicas
- @Autowired te prende ao Spring. Na próxima versão do VRaptor vamos ter suporte ao Guice e ao Pico de uma forma mais fácil.
- faça testes automatizados para a sua aplicação
- Injeção via field dificulta a testabilidade das suas classes, e faz com q elas só possam ser usadas dentro de um container de DI (o spring por exemplo). Daí vc não consegue reutilizá-las em outros ambientes
Quer que eu coloque esse tópico nesta página http://vraptor.caelum.com.br/comunidade.jsp ?
|
--
Caelum
www.caelum.com.br
 |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 28/09/2010 22:44:04
|
Fabio "Kym" Nascimento
JavaChild
![[Avatar]](/images/avatar/78cb63acd2888606f925551760b69f54.png)
Membro desde: 23/08/2008 23:04:58
Mensagens: 124
Offline
|
Lucas Cavalcanti wrote:Ficou legal o sistema.
Dicas:
- se a grande maioria das lógicas precisa de autenticação, crie uma anotação que fale que ela não precise, tipo um @NotRequiresUser, daí vc precisa anotar menos lógicas
- @Autowired te prende ao Spring. Na próxima versão do VRaptor vamos ter suporte ao Guice e ao Pico de uma forma mais fácil.
- faça testes automatizados para a sua aplicação
- Injeção via field dificulta a testabilidade das suas classes, e faz com q elas só possam ser usadas dentro de um container de DI (o spring por exemplo). Daí vc não consegue reutilizá-las em outros ambientes
Quer que eu coloque esse tópico nesta página http://vraptor.caelum.com.br/comunidade.jsp ?
Opa valeu pelas dicas Lucas, eu não vou aplica-las nesse projeto porque ele é um projeto bem especifico para o curso e infelizmente o tempo é curto e além do desenvolvimento tem toneladas de documentação que sou obrigado a fazer (diagramas e mais diagramas), mas com certeza irei aplica-las em projetos futuros.
Só não entendi a terceira dica, você fala de injeção via field, mas qual seria a alternativa?
Sobre colocar o tópico em comunidades do VRaptor, a intenção é ajudar quem está iniciando, pode colocar lá sim!
Abs
|
Por mais que você domine algum tema, sempre há algo a aprender sobre ele.
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 28/09/2010 23:16:28
|
Lucas Cavalcanti
GUJ Hacker
![[Avatar]](/images/avatar/5f6780632f5d27dd0cded5fc9361169e.jpg)
Membro desde: 08/07/2007 00:08:14
Mensagens: 6395
Offline
|
criando um construtor que recebe as dependencias vc nem precisa do @Autowired
|
--
Caelum
www.caelum.com.br
 |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 28/09/2010 23:35:23
|
Fabio "Kym" Nascimento
JavaChild
![[Avatar]](/images/avatar/78cb63acd2888606f925551760b69f54.png)
Membro desde: 23/08/2008 23:04:58
Mensagens: 124
Offline
|
Lucas Cavalcanti wrote:criando um construtor que recebe as dependencias vc nem precisa do @Autowired
Mas não da no mesmo? Achei que o @Autowired só poupava o trabalho de ter que criar o construtor e atribuir os campos no mesmo. De qualquer maneira não tem que criar os campos?
|
Por mais que você domine algum tema, sempre há algo a aprender sobre ele.
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 28/09/2010 23:59:18
|
Lucas Cavalcanti
GUJ Hacker
![[Avatar]](/images/avatar/5f6780632f5d27dd0cded5fc9361169e.jpg)
Membro desde: 08/07/2007 00:08:14
Mensagens: 6395
Offline
|
sim, precisa dos campos de qualquer jeito
o construtor vc pode gerar com o eclipse
se vc não vai testar nem reutilizar suas classes, tanto faz usar construtor ou field injection. Caso contrário, constructor injection é muito melhor.
|
--
Caelum
www.caelum.com.br
 |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 29/09/2010 00:04:48
|
Fabio "Kym" Nascimento
JavaChild
![[Avatar]](/images/avatar/78cb63acd2888606f925551760b69f54.png)
Membro desde: 23/08/2008 23:04:58
Mensagens: 124
Offline
|
Lucas Cavalcanti wrote:sim, precisa dos campos de qualquer jeito
o construtor vc pode gerar com o eclipse
se vc não vai testar nem reutilizar suas classes, tanto faz usar construtor ou field injection. Caso contrário, constructor injection é muito melhor.
Entendi.
Na verdade eu quis economizar código, deixar as classes mais enxutas, mesmo com o Eclipse gerando o construtor. E como não ia precisar reutilizar as classes, nem fazer testes, o @Autorwired me pareceu uma boa solução.
Alias, bem que podia ter uma anotação tipo @GetSet, pra não precisar criar os Getters e Setters heh, mas ai acho que precisaria de algum recurso de metaprogramação, tipo como tem no Ruby, não sei se é possível com Java.
Mas foi boa essa discussão, não sabia que tinha essa diferença entre Field Injection e Constructor Injection.
Abs.
|
Por mais que você domine algum tema, sempre há algo a aprender sobre ele.
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 29/09/2010 00:17:11
|
Lucas Cavalcanti
GUJ Hacker
![[Avatar]](/images/avatar/5f6780632f5d27dd0cded5fc9361169e.jpg)
Membro desde: 08/07/2007 00:08:14
Mensagens: 6395
Offline
|
dá uma olhada:
http://projectlombok.org/
tá em inglês, mas só vendo o video acho q dá pra entender
|
--
Caelum
www.caelum.com.br
 |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 29/09/2010 00:18:49
|
Fabio "Kym" Nascimento
JavaChild
![[Avatar]](/images/avatar/78cb63acd2888606f925551760b69f54.png)
Membro desde: 23/08/2008 23:04:58
Mensagens: 124
Offline
|
Ah verdade, eu já tinha visto isso, heh, vlw
|
Por mais que você domine algum tema, sempre há algo a aprender sobre ele.
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 09/11/2010 11:31:11
|
silfar
HelloWorld
Membro desde: 03/04/2007 12:36:35
Mensagens: 12
Offline
|
Fabio, a aplicação está fora
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 11/11/2010 20:32:01
|
silfar
HelloWorld
Membro desde: 03/04/2007 12:36:35
Mensagens: 12
Offline
|
Tá fora do ar
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 19/11/2010 14:58:22
|
juniorsatanas
GUJ Master
![[Avatar]](/images/avatar/e80d4e20bea58e20d925e45e6fb7aab8.jpg)
Membro desde: 20/05/2007 01:08:24
Mensagens: 1864
Localização: web2ajax@gmail.com
Offline
|
ta fora do ar !
|
Cheque Mate em 6 |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 01/12/2010 12:04:50
|
juniorsatanas
GUJ Master
![[Avatar]](/images/avatar/e80d4e20bea58e20d925e45e6fb7aab8.jpg)
Membro desde: 20/05/2007 01:08:24
Mensagens: 1864
Localização: web2ajax@gmail.com
Offline
|
Se tu por Relatorio e boleto bancário da ate pra vender ! hahahah
FICOU OTIMO !
|
Cheque Mate em 6 |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 22/12/2010 21:42:06
|
zimmermarques
What is classpath?
Membro desde: 08/04/2008 19:08:35
Mensagens: 6
Offline
|
Fabio, vc teve problemas com o encode no retorno automático do PagSeguro?
|
|
|
 |
|
|