{"id":296,"date":"2012-12-30T14:16:00","date_gmt":"2012-12-30T17:16:00","guid":{"rendered":"https:\/\/www.erudio.com.br\/blog\/?p=296"},"modified":"2022-12-21T19:13:23","modified_gmt":"2022-12-21T22:13:23","slug":"tutorial-de-groovy-grails","status":"publish","type":"post","link":"https:\/\/www.erudio.com.br\/blog\/tutorial-de-groovy-grails\/","title":{"rendered":"Tutorial de Groovy &#038; Grails"},"content":{"rendered":"<p>Ol\u00e1. Recentemente precisamos desenvolver uma aplica\u00e7\u00e3o e disponibilizar um WebService REST\/JSON em um tempo recorde. Era um projeto interno e s\u00f3 t\u00ednhamos 2 semanas para fazer isso. Foi a\u00ed que entrou o Grails, como eu j\u00e1 havia estudado bastante a respeito meses antes eu vi que era uma boa oportunidade para testar meu conhecimento e contribuir para que a equipe tamb\u00e9m aprendesse algo novo.<br \/>\nPensando em facilitar uma inicia\u00e7\u00e3o b\u00e1sica no mundo Grails decidi gravar algumas v\u00eddeo aulas b\u00e1sicas sobre o framework.<\/p>\n<p>No primeiro v\u00eddeo eu apresentei conceitos b\u00e1sicos da linguagem Groovy e do framework Grails.<\/p>\n<figure class=\"wp-block-embed is-type-video is-provider-youtube wp-block-embed-youtube wp-embed-aspect-16-9 wp-has-aspect-ratio\">\n<div class=\"wp-block-embed__wrapper\"><iframe loading=\"lazy\" src=\"https:\/\/www.youtube.com\/embed\/zSe78G8n-7s\" width=\"648\" height=\"365\" frameborder=\"0\" allowfullscreen=\"allowfullscreen\"><br \/>\n<\/iframe><\/div>\n<\/figure>\n<p>Depois eu demonstrei como instalar e configurar as vari\u00e1veis de ambiente do grails.<\/p>\n<figure class=\"wp-block-embed is-type-video is-provider-youtube wp-block-embed-youtube wp-embed-aspect-16-9 wp-has-aspect-ratio\">\n<div class=\"wp-block-embed__wrapper\"><iframe loading=\"lazy\" src=\"https:\/\/www.youtube.com\/embed\/xll_DBzpEwc\" width=\"648\" height=\"365\" frameborder=\"0\" allowfullscreen=\"allowfullscreen\"><br \/>\n<\/iframe><\/div>\n<\/figure>\n<p>No terceiro v\u00eddeo eu expliquei o processo de instala\u00e7\u00e3o da IDE de desenvolvimento Groovy &amp; Grails Tool Suite.<\/p>\n<figure class=\"wp-block-embed is-type-video is-provider-youtube wp-block-embed-youtube wp-embed-aspect-16-9 wp-has-aspect-ratio\">\n<div class=\"wp-block-embed__wrapper\"><iframe loading=\"lazy\" src=\"https:\/\/www.youtube.com\/embed\/IhAJi67CCX8\" width=\"648\" height=\"365\" frameborder=\"0\" allowfullscreen=\"allowfullscreen\"><br \/>\n<\/iframe><\/div>\n<\/figure>\n<p>No quarto v\u00eddeo eu expliquei como instalar os plugins de versionamento do GIT (Egit e Github MyLyn Connector) e iniciei tamb\u00e9m a cria\u00e7\u00e3o do primeiro projeto. Como poder\u00e3o ver o Grails te permite ir do 0 a um CRUD completo em poucos minutos.<\/p>\n<figure class=\"wp-block-embed is-type-video is-provider-youtube wp-block-embed-youtube wp-embed-aspect-16-9 wp-has-aspect-ratio\">\n<div class=\"wp-block-embed__wrapper\"><iframe loading=\"lazy\" src=\"https:\/\/www.youtube.com\/embed\/H2J258-VZgc\" width=\"648\" height=\"365\" frameborder=\"0\" allowfullscreen=\"allowfullscreen\"><br \/>\n<\/iframe><\/div>\n<\/figure>\n<p>No quinto v\u00eddeo partimos de um CRUD b\u00e1sico para coisas mais legais e instalamos o Plugin do SpringSecurity para Grails.<\/p>\n<figure class=\"wp-block-embed is-type-video is-provider-youtube wp-block-embed-youtube wp-embed-aspect-16-9 wp-has-aspect-ratio\">\n<div class=\"wp-block-embed__wrapper\"><iframe loading=\"lazy\" src=\"https:\/\/www.youtube.com\/embed\/CWw6W_ZvN20\" width=\"648\" height=\"365\" frameborder=\"0\" allowfullscreen=\"allowfullscreen\"><br \/>\n<\/iframe><\/div>\n<\/figure>\n<p>E nesse \u00faltimo v\u00eddeo instalamos o plugin do SpringSecurityUI e suas dependencias. Esse plugin possibilita a administra\u00e7\u00e3o completa da sua aplica\u00e7\u00e3o Grails por meio de pap\u00e9is de usu\u00e1rio e suas respectivas permiss\u00f5es.<\/p>\n<figure class=\"wp-block-embed is-type-video is-provider-youtube wp-block-embed-youtube wp-embed-aspect-16-9 wp-has-aspect-ratio\">\n<div class=\"wp-block-embed__wrapper\"><iframe loading=\"lazy\" src=\"https:\/\/www.youtube.com\/embed\/AfAcmJTDLrY\" width=\"648\" height=\"365\" frameborder=\"0\" allowfullscreen=\"allowfullscreen\"><br \/>\n<\/iframe><\/div>\n<\/figure>\n<p>Obviamente que apenas esses v\u00eddeos s\u00e3o muito pouco para quem quer come\u00e7ar no mundo Grails mas j\u00e1 \u00e9 um come\u00e7o. Dependendo do feedback desse material eu farei mais tutoriais a respeito obrigado e bons estudos. Se quiser ver o c\u00f3digo desenvolvido basta acessar o <a title=\"GitHub\" href=\"https:\/\/github.com\/leandrocgsi\/semeru_grails_project\">GitHub<\/a> e se preferir fazer o download ou checkout dos fontes.<\/p>\n<h2>Treinamentos relacionados com este post<\/h2>\n<p><a href=\"https:\/\/pub.erudio.com.br\/kr\/blog_rest_spring_java\" target=\"_blank\" rel=\"noopener\"><br \/>\n<img decoding=\"async\" style=\"max-width: 100%;\" title=\"REST API's RESTFul do 0 \u00e0  AWS com Spring Boot 3, Java e Docker\" src=\"https:\/\/raw.githubusercontent.com\/leandrocgsi\/blog-images\/main\/07-rest-spring-java.png\" \/><br \/>\n<\/a><\/p>\n<p><a href=\"https:\/\/pub.erudio.com.br\/kr\/blog_microservices_java\" target=\"_blank\" rel=\"noopener\"> <img decoding=\"async\" style=\"max-width: 100%;\" title=\"Microservices do 0 com Spring Cloud, Spring Boot e Docker\" src=\"https:\/\/raw.githubusercontent.com\/leandrocgsi\/blog-images\/main\/14-microservices-java.png\" \/><br \/>\n<\/a><\/p>\n<p><a href=\"https:\/\/pub.erudio.com.br\/kr\/blog_rest_spring_kotlin\" target=\"_blank\" rel=\"noopener\"> <img decoding=\"async\" style=\"max-width: 100%;\" title=\"REST API's RESTFul do 0 \u00e0 AWS com Spring Boot 3, Kotlin e Docker\" src=\"https:\/\/raw.githubusercontent.com\/leandrocgsi\/blog-images\/main\/18-rest-spring-kotlin.png\" \/><br \/>\n<\/a><\/p>\n<p><a href=\"https:\/\/pub.erudio.com.br\/kr\/blog_ms_kotlin\" target=\"_blank\" rel=\"noopener\"> <img decoding=\"async\" style=\"max-width: 100%;\" title=\"Microsservi\u00e7os do 0 com Spring Cloud, Kotlin e Docker\" src=\"https:\/\/raw.githubusercontent.com\/leandrocgsi\/blog-images\/main\/22-ms-kotlin.png\" \/><br \/>\n<\/a><\/p>\n<p><a href=\"https:\/\/pub.erudio.com.br\/kr\/blog_docker\" target=\"_blank\" rel=\"noopener\"> <img decoding=\"async\" style=\"max-width: 100%;\" title=\"Docker do 0 \u00e0 Maestria: Cont\u00eaineres Desmistificados mais 3 B\u00d4NUS\" src=\"https:\/\/raw.githubusercontent.com\/leandrocgsi\/blog-images\/main\/09-docker.png\" \/><br \/>\n<\/a><\/p>\n<p><a href=\"https:\/\/pub.erudio.com.br\/kr\/blog_docker_para_aws\" target=\"_blank\" rel=\"noopener\"> <img decoding=\"async\" style=\"max-width: 100%;\" title=\"Docker para Amazon AWS Implante Apps Java e .NET com Travis CI\" src=\"https:\/\/raw.githubusercontent.com\/leandrocgsi\/blog-images\/main\/10-docker-to-aws.png\" \/><br \/>\n<\/a><\/p>\n<p><a href=\"https:\/\/pub.erudio.com.br\/kr\/blog_kotlin\" target=\"_blank\" rel=\"noopener\"> <img decoding=\"async\" style=\"max-width: 100%;\" title=\"Kotlin para DEVs Java: Aprenda a Linguagem Padr\u00e3o do Android\" src=\"https:\/\/raw.githubusercontent.com\/leandrocgsi\/blog-images\/main\/20-kotlin.png\" \/><br \/>\n<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Ol\u00e1. Recentemente precisamos desenvolver uma aplica\u00e7\u00e3o e disponibilizar um WebService REST\/JSON em um tempo recorde. Era um projeto interno e s\u00f3 t\u00ednhamos 2 semanas para fazer isso. Foi a\u00ed que entrou o Grails, como eu j\u00e1 havia estudado bastante a respeito meses antes eu vi que era uma boa oportunidade para testar meu conhecimento e [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":[],"categories":[36,38,39],"tags":[163,164,165],"_links":{"self":[{"href":"https:\/\/www.erudio.com.br\/blog\/wp-json\/wp\/v2\/posts\/296"}],"collection":[{"href":"https:\/\/www.erudio.com.br\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.erudio.com.br\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.erudio.com.br\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.erudio.com.br\/blog\/wp-json\/wp\/v2\/comments?post=296"}],"version-history":[{"count":2,"href":"https:\/\/www.erudio.com.br\/blog\/wp-json\/wp\/v2\/posts\/296\/revisions"}],"predecessor-version":[{"id":1564,"href":"https:\/\/www.erudio.com.br\/blog\/wp-json\/wp\/v2\/posts\/296\/revisions\/1564"}],"wp:attachment":[{"href":"https:\/\/www.erudio.com.br\/blog\/wp-json\/wp\/v2\/media?parent=296"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.erudio.com.br\/blog\/wp-json\/wp\/v2\/categories?post=296"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.erudio.com.br\/blog\/wp-json\/wp\/v2\/tags?post=296"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}