{"id":55,"date":"2019-06-26T18:31:54","date_gmt":"2019-06-26T18:31:54","guid":{"rendered":"https:\/\/micheladrianomedeiros.com.br\/blog\/?p=55"},"modified":"2020-06-22T12:01:21","modified_gmt":"2020-06-22T15:01:21","slug":"introducao-ao-spring-boot","status":"publish","type":"post","link":"https:\/\/micheladrianomedeiros.com.br\/blog\/introducao-ao-spring-boot\/","title":{"rendered":"Introdu\u00e7\u00e3o ao Spring Boot #1"},"content":{"rendered":"\n<p class=\"wp-block-paragraph\">Spring Boot torna f\u00e1cil a cria\u00e7\u00e3o\nde um stand-alone, aplica\u00e7\u00f5es baseadas no Spring que voc\u00ea pode executar. Voc\u00ea\npode utilizar o Spring e suas bibliotecas de um modo mais f\u00e1cil. As aplica\u00e7\u00f5es\nSpring Boot n\u00e3o precisam de muita configura\u00e7\u00e3o.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Voc\u00ea pode usar o Spring Boot\npara criar aplica\u00e7\u00f5es Java que podem ser inicializadas com o comando java -jar ou\ndo modo tradicional que \u00e9 o deploy do arquivo war. H\u00e1 tamb\u00e9m os comandos que\nexecutam \u201cspring scripts\u201d.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Os objetivos s\u00e3o:<\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\"><li>Fornece uma r\u00e1pida inicializa\u00e7\u00e3o do projeto para os desenvolvedores. <\/li><li>Que seja opcional as configura\u00e7\u00f5es, mas que tamb\u00e9m seja f\u00e1ceis para faz\u00ea-las.<\/li><li>Fornece uma grande variedade de recursos n\u00e3o funcionais que s\u00e3o comuns em grandes classes de projeto ( tais como servidores incorporados, seguran\u00e7a, m\u00e9tricas, verifica\u00e7\u00f5es de integridade e configura\u00e7\u00f5es externas).<\/li><li>N\u00e3o h\u00e1 a necessidade de gerar e configurar um arquivo XML.<\/li><\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">Pode-se utilizar o Spring e suas bibliotecas de um modo mais f\u00e1cil. As aplica\u00e7\u00f5es Spring Boot n\u00e3o precisam de muita configura\u00e7\u00e3o.<\/p>\n\n\n\n<p class=\"has-text-color has-vivid-cyan-blue-color wp-block-paragraph\"><strong>Vers\u00f5es\nNecess\u00e1rias<\/strong><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">O Spring Boot 2.1.6.RELEASE precisa\ndo Java 8 e \u00e9 compat\u00edvel at\u00e9 o Java 11, estes requerimentos tamb\u00e9m s\u00e3o v\u00e1lidos\npara o Spring Framework 5.1.8.RELEASE.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">As vers\u00f5es necess\u00e1rias das\nferramentas de build s\u00e3o: para o Maven a vers\u00e3o 3.3 ou superior, para o Gradle\na vers\u00e3o 4.4 ou superior.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">As vers\u00f5es para os servlet\ncontainers: Tomcat 9.0 precisa do servlet 4.0, Jetty 9.4 precisa do servlet 3.1\ne o Undertow 2.0 precisa do servlet 4.0.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Pode-se fazer um deploy das\naplica\u00e7\u00f5es com Spring Boot utilizando o servlet 3.1 ou superior.<\/p>\n\n\n\n<p class=\"has-text-color has-vivid-cyan-blue-color wp-block-paragraph\"><strong>Instala\u00e7\u00f5es<\/strong><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Spring Boot pode ser utilizado\nda maneira \u201ccl\u00e1ssica\u201d com as ferramentas de desenvolvimento Java ou instalado\nvia linha de comando. De qualquer maneira ir\u00e1 precisar do JDK 8 ou maior. Antes\nde come\u00e7ar deve-se verificar se a instala\u00e7\u00e3o do java est\u00e1 correta. Basta abrir\no terminal de comando e digitar java -version.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">O Spring Boot \u00e9 compat\u00edvel com\no Apache Maven 3.3 ou superior. Se voc\u00ea n\u00e3o tem o Maven instalado veja o v\u00eddeo.<\/p>\n\n\n\n<figure class=\"wp-block-embed-youtube wp-block-embed is-type-video is-provider-youtube wp-embed-aspect-16-9 wp-has-aspect-ratio\"><div class=\"wp-block-embed__wrapper\">\n<div class=\"video_embed clearfix\"><div class=\"video_embed clearfix\"><iframe loading=\"lazy\" title=\"How to install Maven on Windows\" width=\"500\" height=\"281\" src=\"https:\/\/www.youtube.com\/embed\/6AVC3X88z6E?feature=oembed\" frameborder=\"0\" allow=\"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share\" referrerpolicy=\"strict-origin-when-cross-origin\" allowfullscreen><\/iframe><\/div><\/div>\n<\/div><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">O Spring Boot utiliza o org.springframework.boot\ne o groupId para as suas depend\u00eancias. O Maven l\u00ea o arquivo POM do projeto onde\nest\u00e3o declaradas as depend\u00eancias. <\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Aqui est\u00e1 um t\u00edpico arquivo pom.xml.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">&lt;?xml\nversion=&#8221;1.0&#8243; encoding=&#8221;UTF-8&#8243;?&gt;<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">&lt;project xmlns=&#8221;http:\/\/maven.apache.org\/POM\/4.0.0&#8243; xmlns:xsi=&#8221;http:\/\/www.w3.org\/2001\/XMLSchema-instance&#8221;<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; xsi:schemaLocation=&#8221;http:\/\/maven.apache.org\/POM\/4.0.0\nhttps:\/\/maven.apache.org\/xsd\/maven-4.0.0.xsd&#8221;&gt;<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;modelVersion&gt;4.0.0&lt;\/modelVersion&gt;<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;groupId&gt;com.example&lt;\/groupId&gt;<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;artifactId&gt;myproject&lt;\/artifactId&gt;<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;version&gt;0.0.1-SNAPSHOT&lt;\/version&gt;<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <em>&lt;!&#8211;\nInherit defaults from Spring Boot &#8211;&gt;<\/em><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;parent&gt;<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;groupId&gt;org.springframework.boot&lt;\/groupId&gt;<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;artifactId&gt;spring-boot-starter-parent&lt;\/artifactId&gt;<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;version&gt;2.1.6.RELEASE&lt;\/version&gt;<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;\/parent&gt;<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <em>&lt;!&#8211;\nAdd typical dependencies for a web application &#8211;&gt;<\/em><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;dependencies&gt;<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;dependency&gt;<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;groupId&gt;org.springframework.boot&lt;\/groupId&gt;<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;artifactId&gt;spring-boot-starter-web&lt;\/artifactId&gt;<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;\/dependency&gt;<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;\/dependencies&gt;<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <em>&lt;!&#8211;\nPackage as an executable jar &#8211;&gt;<\/em><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;build&gt;<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;plugins&gt;<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;plugin&gt;<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;groupId&gt;org.springframework.boot&lt;\/groupId&gt;<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;artifactId&gt;spring-boot-maven-plugin&lt;\/artifactId&gt;<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;\/plugin&gt;<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;\/plugins&gt;<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;\/build&gt;<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">&lt;\/project&gt;<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Spring Boot \u00e9 compat\u00edvel com o\nGradle 4.4 ou superior. Se voc\u00ea n\u00e3o tem o Gradle instalado veja o v\u00eddeo. <\/p>\n\n\n\n<figure class=\"wp-block-embed-youtube wp-block-embed is-type-video is-provider-youtube wp-embed-aspect-4-3 wp-has-aspect-ratio\"><div class=\"wp-block-embed__wrapper\">\n<div class=\"video_embed clearfix\"><div class=\"video_embed clearfix\"><iframe loading=\"lazy\" title=\"How to install gradle on Windows 10\" width=\"500\" height=\"375\" src=\"https:\/\/www.youtube.com\/embed\/_XcO_BujfeQ?feature=oembed\" frameborder=\"0\" allow=\"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share\" referrerpolicy=\"strict-origin-when-cross-origin\" allowfullscreen><\/iframe><\/div><\/div>\n<\/div><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">Spring Boot CLI (Command Line\nInterface) \u00e9 uma ferramenta que pode ser utilizada para criar r\u00e1pido prot\u00f3tipos\ncom Spring. Pode executar scripts Groovy.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Voc\u00ea n\u00e3o precisa utilizar o\nCLI para trabalhar com Spring Boot, mas \u00e9 o jeito mais r\u00e1pido de come\u00e7ar a\nconstruir uma aplica\u00e7\u00e3o. Veja o v\u00eddeo de instala\u00e7\u00e3o do CLI.<\/p>\n\n\n\n<figure class=\"wp-block-embed-youtube wp-block-embed is-type-video is-provider-youtube wp-embed-aspect-16-9 wp-has-aspect-ratio\"><div class=\"wp-block-embed__wrapper\">\n<div class=\"video_embed clearfix\"><div class=\"video_embed clearfix\"><iframe loading=\"lazy\" title=\"Installing Spring CLI on Windows\" width=\"500\" height=\"281\" src=\"https:\/\/www.youtube.com\/embed\/aPrlbE8E_bU?feature=oembed\" frameborder=\"0\" allow=\"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share\" referrerpolicy=\"strict-origin-when-cross-origin\" allowfullscreen><\/iframe><\/div><\/div>\n<\/div><\/figure>\n\n\n\n<p class=\"has-text-color has-pale-cyan-blue-color wp-block-paragraph\">Apache Maven 3 Cookbook (Quick Answers to Common Problems) (English Edition) eBook Kindle<br><\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><a href=\"https:\/\/amzn.to\/2NbC8v8\">https:\/\/amzn.to\/2NbC8v8<\/a><\/p>\n\n\n\n<p class=\"has-text-color has-pale-cyan-blue-color wp-block-paragraph\">Introducing Gradle (English Edition)<br> <\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><a href=\"https:\/\/amzn.to\/2RAmYhL\">https:\/\/amzn.to\/2RAmYhL<\/a><\/p>\n\n\n\n<p class=\"has-text-color has-pale-cyan-blue-color wp-block-paragraph\">Pro Spring Boot (English Edition)<br> <\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><a href=\"https:\/\/amzn.to\/2Ncp5tt\">https:\/\/amzn.to\/2Ncp5tt<\/a><\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Curso Java Para Iniciantes para quem quer aprender Java&nbsp;<\/strong><a rel=\"noreferrer noopener\" href=\"http:\/\/bit.ly\/java-swing\" target=\"_blank\"><strong>http:\/\/bit.ly\/java-swing<\/strong><\/a><\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><br><strong>Curso de Desenvolvimento Web Completo \u2013&nbsp;<\/strong><a rel=\"noreferrer noopener\" href=\"http:\/\/bit.ly\/2FnB5Sp\" target=\"_blank\"><strong>http:\/\/bit.ly\/2FnB5Sp<\/strong><\/a><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Fonte:&nbsp; <a href=\"https:\/\/docs.spring.io\/spring-boot\/docs\/2.1.6.RELEASE\/reference\/html\/getting-started-installing-spring-boot.html\">https:\/\/docs.spring.io\/spring-boot\/docs\/2.1.6.RELEASE\/reference\/html\/getting-started-installing-spring-boot.html<\/a> <\/p>\n\n\n\n<p class=\"wp-block-paragraph\">#maven #java #gradle #springboot<\/p>\n\n\n","protected":false},"excerpt":{"rendered":"<p>Spring Boot torna f\u00e1cil a cria\u00e7\u00e3o de um stand-alone, aplica\u00e7\u00f5es baseadas no Spring que voc\u00ea pode executar. Voc\u00ea pode utilizar o Spring e suas bibliotecas de um modo mais f\u00e1cil. As aplica\u00e7\u00f5es Spring Boot n\u00e3o precisam de muita configura\u00e7\u00e3o. Voc\u00ea pode usar o Spring Boot para criar aplica\u00e7\u00f5es Java que podem ser inicializadas com o [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":60,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[14],"tags":[16,5,4,17],"class_list":["post-55","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-springboot","tag-gradle","tag-java","tag-maven","tag-springboot"],"_links":{"self":[{"href":"https:\/\/micheladrianomedeiros.com.br\/blog\/wp-json\/wp\/v2\/posts\/55","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/micheladrianomedeiros.com.br\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/micheladrianomedeiros.com.br\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/micheladrianomedeiros.com.br\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/micheladrianomedeiros.com.br\/blog\/wp-json\/wp\/v2\/comments?post=55"}],"version-history":[{"count":10,"href":"https:\/\/micheladrianomedeiros.com.br\/blog\/wp-json\/wp\/v2\/posts\/55\/revisions"}],"predecessor-version":[{"id":414,"href":"https:\/\/micheladrianomedeiros.com.br\/blog\/wp-json\/wp\/v2\/posts\/55\/revisions\/414"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/micheladrianomedeiros.com.br\/blog\/wp-json\/wp\/v2\/media\/60"}],"wp:attachment":[{"href":"https:\/\/micheladrianomedeiros.com.br\/blog\/wp-json\/wp\/v2\/media?parent=55"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/micheladrianomedeiros.com.br\/blog\/wp-json\/wp\/v2\/categories?post=55"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/micheladrianomedeiros.com.br\/blog\/wp-json\/wp\/v2\/tags?post=55"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}