Por Francisco Marcelo de Barros Maciel. Configuração das ferramentas Descompacte o arquivo...
Transcript of Por Francisco Marcelo de Barros Maciel. Configuração das ferramentas Descompacte o arquivo...
![Page 1: Por Francisco Marcelo de Barros Maciel. Configuração das ferramentas Descompacte o arquivo GRAILS_PACK.ZIP na pasta C:\Temp. Abra o Prompt de Comando.](https://reader035.fdocument.pub/reader035/viewer/2022062512/552fc130497959413d8d4739/html5/thumbnails/1.jpg)
Desenvolvendo para a web com Grails
por Francisco Marcelo de Barros Maciel
![Page 2: Por Francisco Marcelo de Barros Maciel. Configuração das ferramentas Descompacte o arquivo GRAILS_PACK.ZIP na pasta C:\Temp. Abra o Prompt de Comando.](https://reader035.fdocument.pub/reader035/viewer/2022062512/552fc130497959413d8d4739/html5/thumbnails/2.jpg)
Configuração das ferramentas Descompacte o arquivo GRAILS_PACK.ZIP
na pasta C:\Temp. Abra o Prompt de Comando e execute os
seguintes comandos:
Você visualizou a mesma saída do exemplo ?
![Page 3: Por Francisco Marcelo de Barros Maciel. Configuração das ferramentas Descompacte o arquivo GRAILS_PACK.ZIP na pasta C:\Temp. Abra o Prompt de Comando.](https://reader035.fdocument.pub/reader035/viewer/2022062512/552fc130497959413d8d4739/html5/thumbnails/3.jpg)
Configuração das ferramentas Para verificar se o Grails foi instalado
corretamente:C:\temp>grailsWelcome to Grails 1.1 - http://grails.org/Licensed under Apache Standard License 2.0Grails home is set to: C:\Temp\Grails
No script name specified. Use 'grails help' for more info or 'grails interactive
' to enter interactive mode
![Page 4: Por Francisco Marcelo de Barros Maciel. Configuração das ferramentas Descompacte o arquivo GRAILS_PACK.ZIP na pasta C:\Temp. Abra o Prompt de Comando.](https://reader035.fdocument.pub/reader035/viewer/2022062512/552fc130497959413d8d4739/html5/thumbnails/4.jpg)
Uma “revisãozinha” de UML
![Page 5: Por Francisco Marcelo de Barros Maciel. Configuração das ferramentas Descompacte o arquivo GRAILS_PACK.ZIP na pasta C:\Temp. Abra o Prompt de Comando.](https://reader035.fdocument.pub/reader035/viewer/2022062512/552fc130497959413d8d4739/html5/thumbnails/5.jpg)
Um primeiro exemplo que NÃO escreve Hello WorldPara iniciarmos nosso estudo, vamos criar uma
pequena aplicação que permite cadastrar os livros de uma biblioteca pessoal.
Volte ao prompt de comando e digite:
cd \Tempgrails create-app biblioteca
![Page 6: Por Francisco Marcelo de Barros Maciel. Configuração das ferramentas Descompacte o arquivo GRAILS_PACK.ZIP na pasta C:\Temp. Abra o Prompt de Comando.](https://reader035.fdocument.pub/reader035/viewer/2022062512/552fc130497959413d8d4739/html5/thumbnails/6.jpg)
Criando um modelo de domínioAbra o JUDE e crie o seguinte modelo de
domínio:
![Page 7: Por Francisco Marcelo de Barros Maciel. Configuração das ferramentas Descompacte o arquivo GRAILS_PACK.ZIP na pasta C:\Temp. Abra o Prompt de Comando.](https://reader035.fdocument.pub/reader035/viewer/2022062512/552fc130497959413d8d4739/html5/thumbnails/7.jpg)
Criando um modelo de domínioDigite os comandos:cd bibliotecagrails create-domain-class Estantegrails create-domain-class Livrograils create-domain-class Autorgrails create-domain-class Genero
Acesse a pasta da aplicação
![Page 8: Por Francisco Marcelo de Barros Maciel. Configuração das ferramentas Descompacte o arquivo GRAILS_PACK.ZIP na pasta C:\Temp. Abra o Prompt de Comando.](https://reader035.fdocument.pub/reader035/viewer/2022062512/552fc130497959413d8d4739/html5/thumbnails/8.jpg)
Criando um modelo de domínioAgora, edite os arquivos com extensão .groovy
na pasta da sua aplicação, subpasta \grails-app\domain. Observe no exemplo, a classe Autor:
class Autor {String nomestatic hasMany = [livros:Livro] static constraints = { }
}Usando esta classe como modelo, crie as classes Estante e Genero.
![Page 9: Por Francisco Marcelo de Barros Maciel. Configuração das ferramentas Descompacte o arquivo GRAILS_PACK.ZIP na pasta C:\Temp. Abra o Prompt de Comando.](https://reader035.fdocument.pub/reader035/viewer/2022062512/552fc130497959413d8d4739/html5/thumbnails/9.jpg)
Criando um modelo de domínioA classe Livro é um pouco mais complexa. Por
ora, copie o seu código daqui (depois, iremos explicá-lo).
class Livro {String tituloDate dataAquisicaoEstante estantestatic belongsTo = [Autor,Genero]static hasMany = [autores:Autor]static constraints = { }
}
![Page 10: Por Francisco Marcelo de Barros Maciel. Configuração das ferramentas Descompacte o arquivo GRAILS_PACK.ZIP na pasta C:\Temp. Abra o Prompt de Comando.](https://reader035.fdocument.pub/reader035/viewer/2022062512/552fc130497959413d8d4739/html5/thumbnails/10.jpg)
Gerando as telas automaticamente Execute os comandos abaixo (em C:\Temp\
biblioteca) grails generate-all Estante grails generate-all Livro grails generate-all Genero grails generate-all Autor
![Page 11: Por Francisco Marcelo de Barros Maciel. Configuração das ferramentas Descompacte o arquivo GRAILS_PACK.ZIP na pasta C:\Temp. Abra o Prompt de Comando.](https://reader035.fdocument.pub/reader035/viewer/2022062512/552fc130497959413d8d4739/html5/thumbnails/11.jpg)
Mas, por que não usar um IDE ?
![Page 12: Por Francisco Marcelo de Barros Maciel. Configuração das ferramentas Descompacte o arquivo GRAILS_PACK.ZIP na pasta C:\Temp. Abra o Prompt de Comando.](https://reader035.fdocument.pub/reader035/viewer/2022062512/552fc130497959413d8d4739/html5/thumbnails/12.jpg)
Configurando o Eclipse para o Grails Crie uma variável de ambiente denominada
GRAILS_HOME, que aponte para sua pasta de instalação do Grails.Em nosso caso, C:\Temp\Grails (Windows – Preferences – Java – Buildpath – Classpath Variables - New).
![Page 13: Por Francisco Marcelo de Barros Maciel. Configuração das ferramentas Descompacte o arquivo GRAILS_PACK.ZIP na pasta C:\Temp. Abra o Prompt de Comando.](https://reader035.fdocument.pub/reader035/viewer/2022062512/552fc130497959413d8d4739/html5/thumbnails/13.jpg)
Revisando seus conhecimentosEm IP, você aprendeu a estruturar sua
aplicação assim:
PERSISTÊNCIA
GUI (APRESENTAÇÃO)COMUNICAÇÃO
REGRAS DE NEGÓCIO
NO DESKTOP:
REPOSITÓRIOS
SWING/AWT/TEXTO
FACHADA
CADASTROS
![Page 14: Por Francisco Marcelo de Barros Maciel. Configuração das ferramentas Descompacte o arquivo GRAILS_PACK.ZIP na pasta C:\Temp. Abra o Prompt de Comando.](https://reader035.fdocument.pub/reader035/viewer/2022062512/552fc130497959413d8d4739/html5/thumbnails/14.jpg)
O que é necessário numa aplicação web ?
PERSISTÊNCIA
GUI (APRESENTAÇÃO)COMUNICAÇÃO
REGRAS DE NEGÓCIO
NO DESKTOP:
PERSISTÊNCIA
GUI (APRESENTAÇÃO)COMUNICAÇÃO
REGRAS DE NEGÓCIO
NA WEB:
![Page 15: Por Francisco Marcelo de Barros Maciel. Configuração das ferramentas Descompacte o arquivo GRAILS_PACK.ZIP na pasta C:\Temp. Abra o Prompt de Comando.](https://reader035.fdocument.pub/reader035/viewer/2022062512/552fc130497959413d8d4739/html5/thumbnails/15.jpg)
O que é necessário numa aplicação web ?
PERSISTÊNCIA
GUI (APRESENTAÇÃO)COMUNICAÇÃO
REGRAS DE NEGÓCIO
NA WEB:
![Page 16: Por Francisco Marcelo de Barros Maciel. Configuração das ferramentas Descompacte o arquivo GRAILS_PACK.ZIP na pasta C:\Temp. Abra o Prompt de Comando.](https://reader035.fdocument.pub/reader035/viewer/2022062512/552fc130497959413d8d4739/html5/thumbnails/16.jpg)
Convenção sobre configuração
![Page 17: Por Francisco Marcelo de Barros Maciel. Configuração das ferramentas Descompacte o arquivo GRAILS_PACK.ZIP na pasta C:\Temp. Abra o Prompt de Comando.](https://reader035.fdocument.pub/reader035/viewer/2022062512/552fc130497959413d8d4739/html5/thumbnails/17.jpg)
O que REALMENTE acontece nos bastidores ? Hibernate cuida da persistência dos dados Spring injeta dependências (IoC). SiteMesh renderiza as telas.
![Page 18: Por Francisco Marcelo de Barros Maciel. Configuração das ferramentas Descompacte o arquivo GRAILS_PACK.ZIP na pasta C:\Temp. Abra o Prompt de Comando.](https://reader035.fdocument.pub/reader035/viewer/2022062512/552fc130497959413d8d4739/html5/thumbnails/18.jpg)
Configuração das ferramentasO arquivo SET_ENVIROMENT.BAT foi preparado para este treinamento para simplificar as configurações. Em um ambiente de produção, serão necessárias as seguintes ferramentas:
JDK 1.5 ou posterior. Container Servlet Firefox 3 Plugin do Firefox: Firebug. Add-on do Firefox: Web Developer.
![Page 19: Por Francisco Marcelo de Barros Maciel. Configuração das ferramentas Descompacte o arquivo GRAILS_PACK.ZIP na pasta C:\Temp. Abra o Prompt de Comando.](https://reader035.fdocument.pub/reader035/viewer/2022062512/552fc130497959413d8d4739/html5/thumbnails/19.jpg)
Padrões de Projeto
![Page 20: Por Francisco Marcelo de Barros Maciel. Configuração das ferramentas Descompacte o arquivo GRAILS_PACK.ZIP na pasta C:\Temp. Abra o Prompt de Comando.](https://reader035.fdocument.pub/reader035/viewer/2022062512/552fc130497959413d8d4739/html5/thumbnails/20.jpg)
O padrão MVC é “aquele” que aprendemos em IP ?
![Page 21: Por Francisco Marcelo de Barros Maciel. Configuração das ferramentas Descompacte o arquivo GRAILS_PACK.ZIP na pasta C:\Temp. Abra o Prompt de Comando.](https://reader035.fdocument.pub/reader035/viewer/2022062512/552fc130497959413d8d4739/html5/thumbnails/21.jpg)
Entendendo Groovy
![Page 22: Por Francisco Marcelo de Barros Maciel. Configuração das ferramentas Descompacte o arquivo GRAILS_PACK.ZIP na pasta C:\Temp. Abra o Prompt de Comando.](https://reader035.fdocument.pub/reader035/viewer/2022062512/552fc130497959413d8d4739/html5/thumbnails/22.jpg)
Diferenças de Java
![Page 23: Por Francisco Marcelo de Barros Maciel. Configuração das ferramentas Descompacte o arquivo GRAILS_PACK.ZIP na pasta C:\Temp. Abra o Prompt de Comando.](https://reader035.fdocument.pub/reader035/viewer/2022062512/552fc130497959413d8d4739/html5/thumbnails/23.jpg)
Instalando plugins - RichUI
![Page 24: Por Francisco Marcelo de Barros Maciel. Configuração das ferramentas Descompacte o arquivo GRAILS_PACK.ZIP na pasta C:\Temp. Abra o Prompt de Comando.](https://reader035.fdocument.pub/reader035/viewer/2022062512/552fc130497959413d8d4739/html5/thumbnails/24.jpg)
Melhorando o layout com CSS
![Page 25: Por Francisco Marcelo de Barros Maciel. Configuração das ferramentas Descompacte o arquivo GRAILS_PACK.ZIP na pasta C:\Temp. Abra o Prompt de Comando.](https://reader035.fdocument.pub/reader035/viewer/2022062512/552fc130497959413d8d4739/html5/thumbnails/25.jpg)
Listando os livros por títuloA listagem por IDs dos livros não é muito
intuitiva. Vamos mudar isso...
![Page 26: Por Francisco Marcelo de Barros Maciel. Configuração das ferramentas Descompacte o arquivo GRAILS_PACK.ZIP na pasta C:\Temp. Abra o Prompt de Comando.](https://reader035.fdocument.pub/reader035/viewer/2022062512/552fc130497959413d8d4739/html5/thumbnails/26.jpg)
Adicionando validação – Spring Security
![Page 27: Por Francisco Marcelo de Barros Maciel. Configuração das ferramentas Descompacte o arquivo GRAILS_PACK.ZIP na pasta C:\Temp. Abra o Prompt de Comando.](https://reader035.fdocument.pub/reader035/viewer/2022062512/552fc130497959413d8d4739/html5/thumbnails/27.jpg)
Alguém viu um banco de dados ?
![Page 28: Por Francisco Marcelo de Barros Maciel. Configuração das ferramentas Descompacte o arquivo GRAILS_PACK.ZIP na pasta C:\Temp. Abra o Prompt de Comando.](https://reader035.fdocument.pub/reader035/viewer/2022062512/552fc130497959413d8d4739/html5/thumbnails/28.jpg)
Integrando o Grails com o mySQL (ou Oracle, ou SQL Server, ou...)
![Page 29: Por Francisco Marcelo de Barros Maciel. Configuração das ferramentas Descompacte o arquivo GRAILS_PACK.ZIP na pasta C:\Temp. Abra o Prompt de Comando.](https://reader035.fdocument.pub/reader035/viewer/2022062512/552fc130497959413d8d4739/html5/thumbnails/29.jpg)
Criando uma aplicação-exemploDesenvolvendo o modelo de domínio
![Page 30: Por Francisco Marcelo de Barros Maciel. Configuração das ferramentas Descompacte o arquivo GRAILS_PACK.ZIP na pasta C:\Temp. Abra o Prompt de Comando.](https://reader035.fdocument.pub/reader035/viewer/2022062512/552fc130497959413d8d4739/html5/thumbnails/30.jpg)
Criando uma aplicação-exemplo