Palestra VRaptor 3
-
Upload
romero-meireles -
Category
Technology
-
view
149 -
download
0
Transcript of Palestra VRaptor 3
![Page 1: Palestra VRaptor 3](https://reader036.fdocuments.net/reader036/viewer/2022070515/587648db1a28ab0d198b54f7/html5/thumbnails/1.jpg)
Desenvolvimento web ágil com VRaptor 3
Romero Meireles
![Page 2: Palestra VRaptor 3](https://reader036.fdocuments.net/reader036/viewer/2022070515/587648db1a28ab0d198b54f7/html5/thumbnails/2.jpg)
Programa O que é o VRaptor? Primeiro contato Injeção de dependências Enviando dados via form Escopos definidos Validação REST
![Page 3: Palestra VRaptor 3](https://reader036.fdocuments.net/reader036/viewer/2022070515/587648db1a28ab0d198b54f7/html5/thumbnails/3.jpg)
O que é o VRaptor? Framework MVC brasileiro Desenvolvido pela Caelum Inspirado no Ruby on Rails Focado no desenvolvimento ágil Diminui drasticamente tempo de trabalho Convenção sobre configuração Roda sobre o Spring
![Page 4: Palestra VRaptor 3](https://reader036.fdocuments.net/reader036/viewer/2022070515/587648db1a28ab0d198b54f7/html5/thumbnails/4.jpg)
Programa O que é o VRaptor? Primeiro contato Injeção de dependências Enviando dados via form Escopos definidos Validação REST
![Page 5: Palestra VRaptor 3](https://reader036.fdocuments.net/reader036/viewer/2022070515/587648db1a28ab0d198b54f7/html5/thumbnails/5.jpg)
Primeiro contato
![Page 6: Palestra VRaptor 3](https://reader036.fdocuments.net/reader036/viewer/2022070515/587648db1a28ab0d198b54f7/html5/thumbnails/6.jpg)
Primeiro contato
![Page 7: Palestra VRaptor 3](https://reader036.fdocuments.net/reader036/viewer/2022070515/587648db1a28ab0d198b54f7/html5/thumbnails/7.jpg)
Primeiro contato Convenção de acesso à view:WEB-INF/jsp/{nomeDoResource}/{nomeDoMétodo}.jsp
No nosso caso:WEB-INF/jsp/olaMundo/ola.jsp
Como acessaremos a view:localhost:8080/PalestraVRaptor/olaMundo/ola
![Page 8: Palestra VRaptor 3](https://reader036.fdocuments.net/reader036/viewer/2022070515/587648db1a28ab0d198b54f7/html5/thumbnails/8.jpg)
Primeiro contato
![Page 9: Palestra VRaptor 3](https://reader036.fdocuments.net/reader036/viewer/2022070515/587648db1a28ab0d198b54f7/html5/thumbnails/9.jpg)
Primeiro contato
![Page 10: Palestra VRaptor 3](https://reader036.fdocuments.net/reader036/viewer/2022070515/587648db1a28ab0d198b54f7/html5/thumbnails/10.jpg)
Primeiro contato
![Page 11: Palestra VRaptor 3](https://reader036.fdocuments.net/reader036/viewer/2022070515/587648db1a28ab0d198b54f7/html5/thumbnails/11.jpg)
Primeiro contato
![Page 12: Palestra VRaptor 3](https://reader036.fdocuments.net/reader036/viewer/2022070515/587648db1a28ab0d198b54f7/html5/thumbnails/12.jpg)
Primeiro contato
![Page 13: Palestra VRaptor 3](https://reader036.fdocuments.net/reader036/viewer/2022070515/587648db1a28ab0d198b54f7/html5/thumbnails/13.jpg)
Programa O que é o VRaptor? Primeiro contato Injeção de dependências Enviando dados via form Escopos definidos Validação REST
![Page 14: Palestra VRaptor 3](https://reader036.fdocuments.net/reader036/viewer/2022070515/587648db1a28ab0d198b54f7/html5/thumbnails/14.jpg)
Injeção de dependências Quais são minhas dependências?
Quem instanciará as classes?
Como o Vraptor sabe disso?
![Page 15: Palestra VRaptor 3](https://reader036.fdocuments.net/reader036/viewer/2022070515/587648db1a28ab0d198b54f7/html5/thumbnails/15.jpg)
Injeção de dependências
![Page 16: Palestra VRaptor 3](https://reader036.fdocuments.net/reader036/viewer/2022070515/587648db1a28ab0d198b54f7/html5/thumbnails/16.jpg)
Injeção de dependências
![Page 17: Palestra VRaptor 3](https://reader036.fdocuments.net/reader036/viewer/2022070515/587648db1a28ab0d198b54f7/html5/thumbnails/17.jpg)
Programa O que é o VRaptor? Primeiro contato Injeção de dependências Enviando dados via form Escopos definidos Validação REST
![Page 18: Palestra VRaptor 3](https://reader036.fdocuments.net/reader036/viewer/2022070515/587648db1a28ab0d198b54f7/html5/thumbnails/18.jpg)
Enviando dados via form
![Page 19: Palestra VRaptor 3](https://reader036.fdocuments.net/reader036/viewer/2022070515/587648db1a28ab0d198b54f7/html5/thumbnails/19.jpg)
Enviando dados via form
![Page 20: Palestra VRaptor 3](https://reader036.fdocuments.net/reader036/viewer/2022070515/587648db1a28ab0d198b54f7/html5/thumbnails/20.jpg)
Enviando dados via form
![Page 21: Palestra VRaptor 3](https://reader036.fdocuments.net/reader036/viewer/2022070515/587648db1a28ab0d198b54f7/html5/thumbnails/21.jpg)
Enviando dados via form
![Page 22: Palestra VRaptor 3](https://reader036.fdocuments.net/reader036/viewer/2022070515/587648db1a28ab0d198b54f7/html5/thumbnails/22.jpg)
Enviando dados via form
![Page 23: Palestra VRaptor 3](https://reader036.fdocuments.net/reader036/viewer/2022070515/587648db1a28ab0d198b54f7/html5/thumbnails/23.jpg)
Programa O que é o VRaptor? Primeiro contato Injeção de dependências Enviando dados via form Escopos definidos Validação REST
![Page 24: Palestra VRaptor 3](https://reader036.fdocuments.net/reader036/viewer/2022070515/587648db1a28ab0d198b54f7/html5/thumbnails/24.jpg)
Escopos definidos @RequestScoped (padrão)
@SessionScoped
@ApplicationScoped
@PrototypeScoped
![Page 25: Palestra VRaptor 3](https://reader036.fdocuments.net/reader036/viewer/2022070515/587648db1a28ab0d198b54f7/html5/thumbnails/25.jpg)
Escopos definidos @PostConstruct: assim que o escopo for
iniciado
@PreDestroy: assim que o escopo for finalizado
![Page 26: Palestra VRaptor 3](https://reader036.fdocuments.net/reader036/viewer/2022070515/587648db1a28ab0d198b54f7/html5/thumbnails/26.jpg)
Escopos definidos
![Page 27: Palestra VRaptor 3](https://reader036.fdocuments.net/reader036/viewer/2022070515/587648db1a28ab0d198b54f7/html5/thumbnails/27.jpg)
Programa O que é o VRaptor? Primeiro contato Injeção de dependências Enviando dados via form Escopos definidos Validação REST
![Page 28: Palestra VRaptor 3](https://reader036.fdocuments.net/reader036/viewer/2022070515/587648db1a28ab0d198b54f7/html5/thumbnails/28.jpg)
Validação Componente Validator do VRaptor Maneira clássica Maneira fluente Integração com o Hibernate Validator Especificar para qual lógica encaminhar
![Page 29: Palestra VRaptor 3](https://reader036.fdocuments.net/reader036/viewer/2022070515/587648db1a28ab0d198b54f7/html5/thumbnails/29.jpg)
Validação - clássica
![Page 30: Palestra VRaptor 3](https://reader036.fdocuments.net/reader036/viewer/2022070515/587648db1a28ab0d198b54f7/html5/thumbnails/30.jpg)
Validação - clássica
![Page 31: Palestra VRaptor 3](https://reader036.fdocuments.net/reader036/viewer/2022070515/587648db1a28ab0d198b54f7/html5/thumbnails/31.jpg)
Validação - fluente
![Page 32: Palestra VRaptor 3](https://reader036.fdocuments.net/reader036/viewer/2022070515/587648db1a28ab0d198b54f7/html5/thumbnails/32.jpg)
Validação - fluente
![Page 33: Palestra VRaptor 3](https://reader036.fdocuments.net/reader036/viewer/2022070515/587648db1a28ab0d198b54f7/html5/thumbnails/33.jpg)
Validação - fluente
![Page 34: Palestra VRaptor 3](https://reader036.fdocuments.net/reader036/viewer/2022070515/587648db1a28ab0d198b54f7/html5/thumbnails/34.jpg)
Validação - fluente
![Page 35: Palestra VRaptor 3](https://reader036.fdocuments.net/reader036/viewer/2022070515/587648db1a28ab0d198b54f7/html5/thumbnails/35.jpg)
Validação – Hibernate Validator
Validador do VRaptor integrado com o Hibernate Validator
![Page 36: Palestra VRaptor 3](https://reader036.fdocuments.net/reader036/viewer/2022070515/587648db1a28ab0d198b54f7/html5/thumbnails/36.jpg)
Validação – Hibernate Validator
![Page 37: Palestra VRaptor 3](https://reader036.fdocuments.net/reader036/viewer/2022070515/587648db1a28ab0d198b54f7/html5/thumbnails/37.jpg)
Validação – Hibernate Validator
![Page 38: Palestra VRaptor 3](https://reader036.fdocuments.net/reader036/viewer/2022070515/587648db1a28ab0d198b54f7/html5/thumbnails/38.jpg)
Validação – exibição dos erros
![Page 39: Palestra VRaptor 3](https://reader036.fdocuments.net/reader036/viewer/2022070515/587648db1a28ab0d198b54f7/html5/thumbnails/39.jpg)
Programa O que é o VRaptor? Primeiro contato Injeção de dependências Enviando dados via form Escopos definidos Validação REST
![Page 40: Palestra VRaptor 3](https://reader036.fdocuments.net/reader036/viewer/2022070515/587648db1a28ab0d198b54f7/html5/thumbnails/40.jpg)
REST Representation State Tranfer Padrão arquitetural Endereçamento de forma padronizada (nice
urls) Maior visibilidade para componentes
intermediários Diminui acoplamento entre cliente e servidor
![Page 41: Palestra VRaptor 3](https://reader036.fdocuments.net/reader036/viewer/2022070515/587648db1a28ab0d198b54f7/html5/thumbnails/41.jpg)
Triângulo REST
Substantivos
Verbos
Content types
![Page 42: Palestra VRaptor 3](https://reader036.fdocuments.net/reader036/viewer/2022070515/587648db1a28ab0d198b54f7/html5/thumbnails/42.jpg)
REST – Substantivos: recursos
URI (Unified Resource Identifier)
Nome dos recursos
Recursos != Ações
Má prática: /produto/adiciona
![Page 43: Palestra VRaptor 3](https://reader036.fdocuments.net/reader036/viewer/2022070515/587648db1a28ab0d198b54f7/html5/thumbnails/43.jpg)
REST - Verbos Conjunto pequeno e fixo de operações Interface uniforme Operações HTTP:
› Get, Post, Put, › Delete, Head, Options, Trace
![Page 44: Palestra VRaptor 3](https://reader036.fdocuments.net/reader036/viewer/2022070515/587648db1a28ab0d198b54f7/html5/thumbnails/44.jpg)
REST - Verbos Get: recuperar dados de um recurso Post: adiciona dados de um recurso Put: adiciona ou modifica dados Delete: deleta o recurso representado na
URI Head, Options, Trace: recuperam
metadados da URI
![Page 45: Palestra VRaptor 3](https://reader036.fdocuments.net/reader036/viewer/2022070515/587648db1a28ab0d198b54f7/html5/thumbnails/45.jpg)
REST - Verbos
![Page 46: Palestra VRaptor 3](https://reader036.fdocuments.net/reader036/viewer/2022070515/587648db1a28ab0d198b54f7/html5/thumbnails/46.jpg)
REST - Verbos
![Page 47: Palestra VRaptor 3](https://reader036.fdocuments.net/reader036/viewer/2022070515/587648db1a28ab0d198b54f7/html5/thumbnails/47.jpg)
REST - Verbos
![Page 48: Palestra VRaptor 3](https://reader036.fdocuments.net/reader036/viewer/2022070515/587648db1a28ab0d198b54f7/html5/thumbnails/48.jpg)
REST - Verbos
![Page 49: Palestra VRaptor 3](https://reader036.fdocuments.net/reader036/viewer/2022070515/587648db1a28ab0d198b54f7/html5/thumbnails/49.jpg)
REST - Verbos (ex.: PUT)
![Page 50: Palestra VRaptor 3](https://reader036.fdocuments.net/reader036/viewer/2022070515/587648db1a28ab0d198b54f7/html5/thumbnails/50.jpg)
REST - Verbos (ex.: PUT)
![Page 51: Palestra VRaptor 3](https://reader036.fdocuments.net/reader036/viewer/2022070515/587648db1a28ab0d198b54f7/html5/thumbnails/51.jpg)
REST - Verbos (ex.: PUT)
![Page 52: Palestra VRaptor 3](https://reader036.fdocuments.net/reader036/viewer/2022070515/587648db1a28ab0d198b54f7/html5/thumbnails/52.jpg)
REST - Verbos (ex.: PUT)
![Page 53: Palestra VRaptor 3](https://reader036.fdocuments.net/reader036/viewer/2022070515/587648db1a28ab0d198b54f7/html5/thumbnails/53.jpg)
REST - Verbos (ex.: PUT)
![Page 54: Palestra VRaptor 3](https://reader036.fdocuments.net/reader036/viewer/2022070515/587648db1a28ab0d198b54f7/html5/thumbnails/54.jpg)
REST - Verbos (ex.: Delete)
![Page 55: Palestra VRaptor 3](https://reader036.fdocuments.net/reader036/viewer/2022070515/587648db1a28ab0d198b54f7/html5/thumbnails/55.jpg)
REST - Verbos (ex.: Delete)
![Page 56: Palestra VRaptor 3](https://reader036.fdocuments.net/reader036/viewer/2022070515/587648db1a28ab0d198b54f7/html5/thumbnails/56.jpg)
REST - Verbos (ex.: Delete)
![Page 57: Palestra VRaptor 3](https://reader036.fdocuments.net/reader036/viewer/2022070515/587648db1a28ab0d198b54f7/html5/thumbnails/57.jpg)
Path com expressões regulares
![Page 58: Palestra VRaptor 3](https://reader036.fdocuments.net/reader036/viewer/2022070515/587648db1a28ab0d198b54f7/html5/thumbnails/58.jpg)
Por que usar VRaptor? Alta produtividade Curva de aprendizado Testabilidade Economia Flexibilidade Melhores práticas de desenvolvimento
![Page 59: Palestra VRaptor 3](https://reader036.fdocuments.net/reader036/viewer/2022070515/587648db1a28ab0d198b54f7/html5/thumbnails/59.jpg)
Obrigado!