2. O Grails
3. RubyonRails, Django, TurboGears Construdo sobre gigantes
4. Spring Framework 5. Hiberante Reduz a complexidade 6. Aumento da produtividade 7. O Grails
Camada de viso
8. TagLib dinmicas e SiteMesh Camada de controle:
Dependency Injection (DI)
Internacionalizao (i18n) 9. 10. Grails - Instalao e Configurao
11. Hello Grails
12. grais create-controller HelloWord 13. grails- app/controllers/helloword/HelloWordController.groovy 14. def helloword = { render meu 123487 hello word! } 15. Comandos - Grails
16. grailscreate-domain-classbr.edu.ifpi.MinhaClass 17. grailscreate-controllerbr.edu.ifpi.MinhaClass 18. grailscreate-servicebr.edu.ifpi.MinhaClass 19. grailsgenerate-all// gera as views os controlleres 20. grailsschema-export// expora o esquema de tabelas 21. grailsconsole// abre o console do groovy 22. grailsclean// limpa ateraes 23. grailsrun-app// roda a aplicao 24. Grails - Estrutura Arquivos de configurao: DataSource.groovy Config.groovy Bootstrap.groovy internacionalizao web.xml Libs adicionais: ex mysql-connector.jar 25. DataSource - Grails
26. Configurado por padro com o HSQLDB
Possui trs ambientes de trabalho
27. DataSource - Grails 28. M VC - Grails
29. grails create-domain-class 30. Separar a lgica de negcio do modelo 31. Cada classe de domnio corresponde uma tabela do banco de dados relacional 32. M VC - Grails
34. emailemail:true, nullable:false } 35. M VC - Grails
36. Permite fazer o mapeamento objeto / relacional do modelo orientado a objetos com o banco de dados relacional 37. Cada classe de domnio representa uma tabela do banco de dados 38. Uma instncia representa uma linha da tabela 39. Cada atributo da classe representa uma coluna da tabela 40. M VC - Grails
41. TUDO ISSO? 42. GORM - Grails
43. grails console 44. def usuario = new User(login:tr00,password:tr00) 45. usuario.save() 46. No precisa extender de ningum, no precisa de annotations. 47. grande semelhana com o ActiveRecord 48. GORM - Grails
49. list() 50. delete() 51. get(Object o) Buscadores dinmicos 52. GORM - Grails
FindAllBy*
FindWhere, findAllWhere
HQL Hibernate Query Language
53. Parmetros:
54. GORM - Grails
Like
NotEqual
IsNull
IsNotNull
55. GORM - Grails
56. Uma das mais poderosos de de busca
57. list : retorna uma lista de instancias 58. count : retorna um total de resultados como um inteiro da query 59. def c = DomainClass.createCriteria() 60. def result = c.list{ eq('nome','tr00' } 61. GORM - Grails
OneToMany
HasMany 62. - TeamhasManyplayers
63. teamInstance.addToPlayers(new Player(name:derpson)) 64. teamInstance.removeFromPlayers(Player.get(1L)) BelongsTo
65. MV C- Grails
66. grails create-controller 67. action:So clousures que iro receber as requisies e fazer alguma coisa
68. MV C- Grails
} flash:map temporrio que armazena objetos da seo, o hash limpo a cada nova requisio
} 69. MV C- Grails
70. redirect:redireciona uma ao usando HTTP redirect
} 71. MV C- Grails
72. def scaffolding = MinhaClasseDeDominio 73. M V C- Grails
74. ou Utilizam a GSP taglib
75. Semelhando ao JSP
76. 77. M V C- Grails
Ttulo: ${it.titulo}
78.
Ttulo: ${livro.titulo}
79. M V C- Grails
80.
81.
82. Service - Grails
83. grails-app/services/ 84. Centraliza a regra de negcio 85. Compartilha a mesma regra com classes de domnio que possuam essa lgica 86. Injetado automaticamente no controller pelo Spring 87. Service - Grails
88. transactional = true
89. Consistncia-o banco de dados deve permanecer consistente antes e depois de uma operao 90. Isolao uma transao est isolada das outras operaes 91. Durabilidade desde que a transao esteja feita, isso garante que a transao no possa ser desfeita 92. Scaffolding - Grails
93. timo para prototipao 94. Scaffolding - Grails
Scaffolding esttico
95. grails generate-controller : cria o controlador para uma classe de domnio especfica 96. grails generate-all : cria os controlers + views 97. ex: grails generate-all br.edu.ifpi.beans.Aluno 98. i18n - Grails
99. Permite exibir mensagens no idioma de preferncia do usurio 100. Os arquivos .properties 101. Testes - Grails
102. Usa o Junit e o Canoo por baixo dos panos 103. Permite fazer:
104. Testes de integrao 105. Testes funcionais A aplicao vai trabalhar como esperado 106. A classe de testes extendem de GroovyTestCase 107. Permite o uso de assert*, setUp e tearDown 108. Tests - Grails
109. Testes unitrios no grails so criados com o comando:
110. tests/unit/ nos testes unitrios os mtodos dinmicos como save, findBy* no esto disponveis 111. O grails faz isso pra ajudar voc a diferenciar testes unitrios e de integrao 112. testes unitrios se preucupam em testar apenas uma parte do cdigo e no o problema como um todo 113. Testes - Grails
114. Testes - Grails
115. http://groovy.codehaus.org/Groovy+Mocks 116. Um exemplo de App Grails Servio de url customizada e estatsticas de acesso http://4gplus.me 117. Aplicao de exemplo - Grails
118. Uma resposta pode receber votos, a resposta mais votada tda como a mais confivel Regras:
119. Uma pergunta tem um usurio ( quem perguntou ) e vrias respostas 120. Uma resposta pertence a uma pergunta e possui vrios usurios ( quem respondu )
Top Related