{"id":1258,"date":"2012-11-28T18:29:44","date_gmt":"2012-11-28T21:29:44","guid":{"rendered":"https:\/\/devkico.itexto.com.br\/?p=1258"},"modified":"2012-11-28T19:07:16","modified_gmt":"2012-11-28T22:07:16","slug":"lancado-meu-livro-vire-o-jogo-com-spring-framework","status":"publish","type":"post","link":"https:\/\/devkico.itexto.com.br\/?p=1258","title":{"rendered":"Lan\u00e7ado meu livro &#8220;Vire o Jogo com Spring Framework&#8221;!"},"content":{"rendered":"<figure id=\"attachment_1259\" aria-describedby=\"caption-attachment-1259\" style=\"width: 340px\" class=\"wp-caption alignleft\"><a href=\"http:\/\/www.casadocodigo.com.br\/products\/spring\"><img loading=\"lazy\" decoding=\"async\" class=\"size-full wp-image-1259\" title=\"livrokico\" src=\"https:\/\/devkico.itexto.com.br\/wp-content\/uploads\/2012\/11\/livrokico.jpg\" alt=\"\" width=\"340\" height=\"480\" srcset=\"https:\/\/devkico.itexto.com.br\/wp-content\/uploads\/2012\/11\/livrokico.jpg 340w, https:\/\/devkico.itexto.com.br\/wp-content\/uploads\/2012\/11\/livrokico-212x300.jpg 212w\" sizes=\"(max-width: 340px) 100vw, 340px\" \/><\/a><figcaption id=\"caption-attachment-1259\" class=\"wp-caption-text\">Vire o Jogo com Spring Framework<\/figcaption><\/figure>\n<p>Acaba de ser lan\u00e7ada a vers\u00e3o final (<strong>impressa<\/strong> e digital) do meu livro &#8220;Vire o Jogo com Spring Framework&#8221;, publicado pela editora <a href=\"http:\/\/www.casadocodigo.com.br\">Casa do C\u00f2digo<\/a>.<\/p>\n<p>Meu objetivo foi escrever o &#8220;livro de Spring que sempre quis ler&#8221; e acredito que a miss\u00e3o esteja cumprida. Talvez eu tenha desempenhado o maior esfor\u00e7o intelectual da minha vida. Um trabalho bibliogr\u00e1fico imenso (que inclusive publiquei a parte mais interessante aqui no <a href=\"https:\/\/devkico.itexto.com.br\/?p=1131\">blog<\/a>), centenas de horas analisando a <a href=\"https:\/\/devkico.itexto.com.br\/?p=1230\">vis\u00e3o que as pessoas tinham sobre o assunto<\/a> e muitas noites, finais de semana e feriados empenhados nesta miss\u00e3o. Agora que est\u00e1 liberado, o filho n\u00e3o \u00e9 mais meu, mas dos seus leitores que, espero, t\u00eam agora o melhor livro que eu poderia imaginar sobre o assunto.<\/p>\n<p>A primeira parte do livro cont\u00e9m <em>o que eu gostaria de ter aprendido na faculdade sobre o assunto:<\/em> \u00e9 aonde exponho os conceitos fundamentais por tr\u00e1s do Spring (invers\u00e3o de controle, inje\u00e7\u00e3o de depend\u00eancias, AOP e cia), explicando a motiva\u00e7\u00e3o por tr\u00e1s do seu surgimento, o que de fato s\u00e3o e aonde se encaixam. Basicamente exponho os grandes problemas por tr\u00e1s do desenvolvimento de qualquer sistema.<\/p>\n<p>Um cap\u00edtulo que me orgulha bastante \u00e9 o sobre AOP que, acredito, n\u00e3o seja um paradigma t\u00e3o popular quanto deveria porque simplesmente os textos escritos a seu respeito s\u00e3o <strong>horr\u00edveis<\/strong>. <em>Viro o jogo:<\/em> ao inv\u00e9s de esmagar o leitor em uma avalanche conceitual exponho o paradigma de uma forma bem mais natural. Espero com isto dar minha contribui\u00e7\u00e3o \u00e0 populariza\u00e7\u00e3o da t\u00e9cnica.<\/p>\n<p>A segunda parte cont\u00e9m <em>o que eu gostaria de ter em m\u00e3os no trabalho quando conheci o Spring<\/em>. Exponho o framework no\u00a0<em>campo de combate<\/em>, tornando expl\u00edcitos os principais problemas que o programador enfrenta no seu dia a dia, muitos dos quais simplesmente n\u00e3o encontrei documentados em lugar algum (apenas men\u00e7\u00f5es muito r\u00e1pidas em f\u00f3rums no m\u00e1ximo). Foi um trabalho de pesquisa fascinante visto que no final, devido \u00e0 escassez de material, acabei decorando diversos trechos do pr\u00f3prio c\u00f3digo fonte do Spring (quem sabe no futuro eu n\u00e3o comito algo por l\u00e1&#8230;).<\/p>\n<p>O Spring na minha opini\u00e3o \u00e9 mais que um framework: \u00e9 uma ferramenta educativa para o desenvolvedor que, conforme vai se aprofundando nos conceitos que o envolvem, come\u00e7a a ficar mais atento ao modo como escreve seus sistemas. Espero que com este meu livro voc\u00ea possa escrever programas melhores: <em>com ou sem<\/em> o Spring.<\/p>\n<p><strong>Muito obrigado<\/strong> aos meus editores Adriano Almeida e Paulo Silveira, assim como a todos os outros que me ajudaram neste trabalho. Foi uma das experi\u00eancias mais incr\u00edveis da minha vida, e que a modificou de maneiras completamente imprevis\u00edveis para mim.<\/p>\n<p>PS: n\u00e3o parei por aqui. J\u00e1 estou escrevendo um segundo livro. ;)<\/p>\n<p>PS 2: Claro n\u00e9: o link para voc\u00ea comprar o livro! <a href=\"http:\/\/www.casadocodigo.com.br\/products\/spring\">http:\/\/www.casadocodigo.com.br\/products\/spring<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Acaba de ser lan\u00e7ada a vers\u00e3o final (impressa e digital) do meu livro &#8220;Vire o Jogo com Spring Framework&#8221;, publicado pela editora Casa do C\u00f2digo. Meu objetivo foi escrever o &#8220;livro de Spring que sempre quis ler&#8221; e acredito que a miss\u00e3o esteja cumprida. Talvez eu tenha desempenhado o maior esfor\u00e7o intelectual da minha vida. [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_coblocks_attr":"","_coblocks_dimensions":"","_coblocks_responsive_height":"","_coblocks_accordion_ie_support":"","site-sidebar-layout":"default","site-content-layout":"","ast-site-content-layout":"","site-content-style":"default","site-sidebar-style":"default","ast-global-header-display":"","ast-banner-title-visibility":"","ast-main-header-display":"","ast-hfb-above-header-display":"","ast-hfb-below-header-display":"","ast-hfb-mobile-header-display":"","site-post-title":"","ast-breadcrumbs-content":"","ast-featured-img":"","footer-sml-layout":"","theme-transparent-header-meta":"","adv-header-id-meta":"","stick-header-meta":"","header-above-stick-meta":"","header-main-stick-meta":"","header-below-stick-meta":"","astra-migrate-meta-layouts":"default","ast-page-background-enabled":"default","ast-page-background-meta":{"desktop":{"background-color":"var(--ast-global-color-4)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-gradient":""},"tablet":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-gradient":""},"mobile":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-gradient":""}},"ast-content-background-meta":{"desktop":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-gradient":""},"tablet":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-gradient":""},"mobile":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-gradient":""}},"jetpack_post_was_ever_published":false,"_jetpack_newsletter_access":"","_jetpack_dont_email_post_to_subs":false,"_jetpack_newsletter_tier_id":0,"_jetpack_memberships_contains_paywalled_content":false,"_jetpack_memberships_contains_paid_content":false,"footnotes":""},"categories":[1],"tags":[],"class_list":["post-1258","post","type-post","status-publish","format-standard","hentry","category-uncategorized"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v22.8 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Lan\u00e7ado meu livro &quot;Vire o Jogo com Spring Framework&quot;! - \/dev\/Kico<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/devkico.itexto.com.br\/?p=1258\" \/>\n<meta property=\"og:locale\" content=\"pt_BR\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Lan\u00e7ado meu livro &quot;Vire o Jogo com Spring Framework&quot;! - \/dev\/Kico\" \/>\n<meta property=\"og:description\" content=\"Acaba de ser lan\u00e7ada a vers\u00e3o final (impressa e digital) do meu livro &#8220;Vire o Jogo com Spring Framework&#8221;, publicado pela editora Casa do C\u00f2digo. Meu objetivo foi escrever o &#8220;livro de Spring que sempre quis ler&#8221; e acredito que a miss\u00e3o esteja cumprida. Talvez eu tenha desempenhado o maior esfor\u00e7o intelectual da minha vida. [&hellip;]\" \/>\n<meta property=\"og:url\" content=\"https:\/\/devkico.itexto.com.br\/?p=1258\" \/>\n<meta property=\"og:site_name\" content=\"\/dev\/Kico\" \/>\n<meta property=\"article:published_time\" content=\"2012-11-28T21:29:44+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2012-11-28T22:07:16+00:00\" \/>\n<meta property=\"og:image\" content=\"http:\/\/www.itexto.net\/devkico\/wp-content\/uploads\/2012\/11\/livrokico.jpg\" \/>\n<meta name=\"author\" content=\"Kico (Henrique Lobo Weissmann)\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@loboweissmann\" \/>\n<meta name=\"twitter:label1\" content=\"Escrito por\" \/>\n\t<meta name=\"twitter:data1\" content=\"Kico (Henrique Lobo Weissmann)\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. tempo de leitura\" \/>\n\t<meta name=\"twitter:data2\" content=\"3 minutos\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\/\/devkico.itexto.com.br\/?p=1258\",\"url\":\"https:\/\/devkico.itexto.com.br\/?p=1258\",\"name\":\"Lan\u00e7ado meu livro \\\"Vire o Jogo com Spring Framework\\\"! - \/dev\/Kico\",\"isPartOf\":{\"@id\":\"https:\/\/devkico.itexto.com.br\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/devkico.itexto.com.br\/?p=1258#primaryimage\"},\"image\":{\"@id\":\"https:\/\/devkico.itexto.com.br\/?p=1258#primaryimage\"},\"thumbnailUrl\":\"https:\/\/devkico.itexto.com.br\/wp-content\/uploads\/2012\/11\/livrokico.jpg\",\"datePublished\":\"2012-11-28T21:29:44+00:00\",\"dateModified\":\"2012-11-28T22:07:16+00:00\",\"author\":{\"@id\":\"https:\/\/devkico.itexto.com.br\/#\/schema\/person\/502ab8892631bb005d6da2269fe5a3a7\"},\"breadcrumb\":{\"@id\":\"https:\/\/devkico.itexto.com.br\/?p=1258#breadcrumb\"},\"inLanguage\":\"pt-BR\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/devkico.itexto.com.br\/?p=1258\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"pt-BR\",\"@id\":\"https:\/\/devkico.itexto.com.br\/?p=1258#primaryimage\",\"url\":\"https:\/\/devkico.itexto.com.br\/wp-content\/uploads\/2012\/11\/livrokico.jpg\",\"contentUrl\":\"https:\/\/devkico.itexto.com.br\/wp-content\/uploads\/2012\/11\/livrokico.jpg\",\"width\":\"340\",\"height\":\"480\",\"caption\":\"Vire o Jogo com Spring Framework\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/devkico.itexto.com.br\/?p=1258#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/devkico.itexto.com.br\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Lan\u00e7ado meu livro &#8220;Vire o Jogo com Spring Framework&#8221;!\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/devkico.itexto.com.br\/#website\",\"url\":\"https:\/\/devkico.itexto.com.br\/\",\"name\":\"\/dev\/Kico\",\"description\":\"Desenvolvendo software\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/devkico.itexto.com.br\/?s={search_term_string}\"},\"query-input\":\"required name=search_term_string\"}],\"inLanguage\":\"pt-BR\"},{\"@type\":\"Person\",\"@id\":\"https:\/\/devkico.itexto.com.br\/#\/schema\/person\/502ab8892631bb005d6da2269fe5a3a7\",\"name\":\"Kico (Henrique Lobo Weissmann)\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"pt-BR\",\"@id\":\"https:\/\/devkico.itexto.com.br\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/dd6973d86a689bc63122b2e603f25be3?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/dd6973d86a689bc63122b2e603f25be3?s=96&d=mm&r=g\",\"caption\":\"Kico (Henrique Lobo Weissmann)\"},\"sameAs\":[\"https:\/\/x.com\/loboweissmann\"],\"url\":\"https:\/\/devkico.itexto.com.br\/?author=1\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Lan\u00e7ado meu livro \"Vire o Jogo com Spring Framework\"! - \/dev\/Kico","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/devkico.itexto.com.br\/?p=1258","og_locale":"pt_BR","og_type":"article","og_title":"Lan\u00e7ado meu livro \"Vire o Jogo com Spring Framework\"! - \/dev\/Kico","og_description":"Acaba de ser lan\u00e7ada a vers\u00e3o final (impressa e digital) do meu livro &#8220;Vire o Jogo com Spring Framework&#8221;, publicado pela editora Casa do C\u00f2digo. Meu objetivo foi escrever o &#8220;livro de Spring que sempre quis ler&#8221; e acredito que a miss\u00e3o esteja cumprida. Talvez eu tenha desempenhado o maior esfor\u00e7o intelectual da minha vida. [&hellip;]","og_url":"https:\/\/devkico.itexto.com.br\/?p=1258","og_site_name":"\/dev\/Kico","article_published_time":"2012-11-28T21:29:44+00:00","article_modified_time":"2012-11-28T22:07:16+00:00","og_image":[{"url":"http:\/\/www.itexto.net\/devkico\/wp-content\/uploads\/2012\/11\/livrokico.jpg"}],"author":"Kico (Henrique Lobo Weissmann)","twitter_card":"summary_large_image","twitter_creator":"@loboweissmann","twitter_misc":{"Escrito por":"Kico (Henrique Lobo Weissmann)","Est. tempo de leitura":"3 minutos"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/devkico.itexto.com.br\/?p=1258","url":"https:\/\/devkico.itexto.com.br\/?p=1258","name":"Lan\u00e7ado meu livro \"Vire o Jogo com Spring Framework\"! - \/dev\/Kico","isPartOf":{"@id":"https:\/\/devkico.itexto.com.br\/#website"},"primaryImageOfPage":{"@id":"https:\/\/devkico.itexto.com.br\/?p=1258#primaryimage"},"image":{"@id":"https:\/\/devkico.itexto.com.br\/?p=1258#primaryimage"},"thumbnailUrl":"https:\/\/devkico.itexto.com.br\/wp-content\/uploads\/2012\/11\/livrokico.jpg","datePublished":"2012-11-28T21:29:44+00:00","dateModified":"2012-11-28T22:07:16+00:00","author":{"@id":"https:\/\/devkico.itexto.com.br\/#\/schema\/person\/502ab8892631bb005d6da2269fe5a3a7"},"breadcrumb":{"@id":"https:\/\/devkico.itexto.com.br\/?p=1258#breadcrumb"},"inLanguage":"pt-BR","potentialAction":[{"@type":"ReadAction","target":["https:\/\/devkico.itexto.com.br\/?p=1258"]}]},{"@type":"ImageObject","inLanguage":"pt-BR","@id":"https:\/\/devkico.itexto.com.br\/?p=1258#primaryimage","url":"https:\/\/devkico.itexto.com.br\/wp-content\/uploads\/2012\/11\/livrokico.jpg","contentUrl":"https:\/\/devkico.itexto.com.br\/wp-content\/uploads\/2012\/11\/livrokico.jpg","width":"340","height":"480","caption":"Vire o Jogo com Spring Framework"},{"@type":"BreadcrumbList","@id":"https:\/\/devkico.itexto.com.br\/?p=1258#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/devkico.itexto.com.br\/"},{"@type":"ListItem","position":2,"name":"Lan\u00e7ado meu livro &#8220;Vire o Jogo com Spring Framework&#8221;!"}]},{"@type":"WebSite","@id":"https:\/\/devkico.itexto.com.br\/#website","url":"https:\/\/devkico.itexto.com.br\/","name":"\/dev\/Kico","description":"Desenvolvendo software","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/devkico.itexto.com.br\/?s={search_term_string}"},"query-input":"required name=search_term_string"}],"inLanguage":"pt-BR"},{"@type":"Person","@id":"https:\/\/devkico.itexto.com.br\/#\/schema\/person\/502ab8892631bb005d6da2269fe5a3a7","name":"Kico (Henrique Lobo Weissmann)","image":{"@type":"ImageObject","inLanguage":"pt-BR","@id":"https:\/\/devkico.itexto.com.br\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/dd6973d86a689bc63122b2e603f25be3?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/dd6973d86a689bc63122b2e603f25be3?s=96&d=mm&r=g","caption":"Kico (Henrique Lobo Weissmann)"},"sameAs":["https:\/\/x.com\/loboweissmann"],"url":"https:\/\/devkico.itexto.com.br\/?author=1"}]}},"jetpack_featured_media_url":"","jetpack-related-posts":[],"jetpack_sharing_enabled":true,"jetpack_likes_enabled":true,"_links":{"self":[{"href":"https:\/\/devkico.itexto.com.br\/index.php?rest_route=\/wp\/v2\/posts\/1258"}],"collection":[{"href":"https:\/\/devkico.itexto.com.br\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/devkico.itexto.com.br\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/devkico.itexto.com.br\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/devkico.itexto.com.br\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=1258"}],"version-history":[{"count":9,"href":"https:\/\/devkico.itexto.com.br\/index.php?rest_route=\/wp\/v2\/posts\/1258\/revisions"}],"predecessor-version":[{"id":1266,"href":"https:\/\/devkico.itexto.com.br\/index.php?rest_route=\/wp\/v2\/posts\/1258\/revisions\/1266"}],"wp:attachment":[{"href":"https:\/\/devkico.itexto.com.br\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=1258"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/devkico.itexto.com.br\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=1258"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/devkico.itexto.com.br\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=1258"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}