{"id":6,"date":"2025-11-22T06:05:36","date_gmt":"2025-11-22T09:05:36","guid":{"rendered":"https:\/\/tiagoiwamoto.com.br\/?p=6"},"modified":"2025-12-23T07:09:46","modified_gmt":"2025-12-23T10:09:46","slug":"springboot-4","status":"publish","type":"post","link":"https:\/\/tiagoiwamoto.com.br\/?p=6","title":{"rendered":"Springboot 4"},"content":{"rendered":"\n<h2 class=\"wp-block-heading\">Spring Boot 4: O que h\u00e1 de novo? Novidades, melhorias e exemplos curtos para voc\u00ea dominar o futuro do Java<\/h2>\n\n\n\n<p>O Spring Boot sempre foi um dos queridinhos da galera que trabalha com Java. Ele simplifica configura\u00e7\u00f5es, acelera o desenvolvimento e entrega aplica\u00e7\u00f5es robustas com pouco esfor\u00e7o.<br>Agora, com o <strong>Spring Boot 4<\/strong>, a plataforma d\u00e1 um salto importante para acompanhar a evolu\u00e7\u00e3o do Java moderno (Java 21+), do desenvolvimento cloud-native e principalmente do ecossistema de intelig\u00eancia artificial e microsservi\u00e7os.<\/p>\n\n\n\n<p>Se voc\u00ea \u00e9 jovem, curioso e quer desenvolver <em>r\u00e1pido<\/em>, de forma <em>leve<\/em> e usando c\u00f3digo <em>bonito<\/em>, o Spring Boot 4 \u00e9 um prato cheio.<\/p>\n\n\n\n<p>O Spring Boot 4 foi pensado desde o in\u00edcio para tirar proveito dos recursos modernos do Java 21 (LTS) e futuros releases.<br>Isso significa:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Melhor performance<\/li>\n\n\n\n<li>Melhor uso de threads virtuais<\/li>\n\n\n\n<li>C\u00f3digo mais limpo e simples<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\">\ud83d\udc49 Exemplo: Usando threads virtuais no Spring Boot 4<\/h3>\n\n\n\n<pre class=\"wp-block-code\"><code>@RestController\npublic class HelloController {\n\n  @GetMapping(\"\/heavy-task\")\n  public String runTask() throws Exception {\n      Thread.sleep(2000); \/\/ simula tarefa pesada\n      return \"Finalizado com virtual thread!\";\n  }\n}  \n<\/code><\/pre>\n\n\n\n<p>No Spring Boot 4, isso roda com virtual threads <em>sem voc\u00ea mudar nada<\/em> no c\u00f3digo da API. Ou seja: alta performance &#8220;de gra\u00e7a&#8221;.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">2. AOT + GraalVM muito mais r\u00e1pido (Build e Start-up)<\/h2>\n\n\n\n<p>O Spring Boot 4 leva a s\u00e9rio o mundo cloud-native.<br>O AOT (Ahead-of-Time) foi melhorado, gerando:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Builds mais r\u00e1pidos<\/strong><\/li>\n\n\n\n<li><strong>Execut\u00e1veis nativos menores<\/strong><\/li>\n\n\n\n<li><strong>Start-up quase instant\u00e2neo<\/strong><\/li>\n\n\n\n<li><strong>Consumo de RAM ridiculamente baixo<\/strong><\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\">\ud83d\udc49 Como gerar uma imagem nativa:<\/h3>\n\n\n\n<pre class=\"wp-block-code\"><code>mvn -Pnative native:compile<\/code><\/pre>\n\n\n\n<p>Com isso, sua API sobe em milissegundos \u2014 perfeito para Lambda, containers pequenos, ou raspberries\/IoT.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">3. Novo Observability: Metrics + Logs + Tracing com um clique<\/h2>\n\n\n\n<p>A vers\u00e3o 4 integrou m\u00e9tricas, logs estruturados e tracing distribu\u00eddo nativamente atrav\u00e9s do Micrometer 2 e do OpenTelemetry.<\/p>\n\n\n\n<p>Isso facilita monitorar a aplica\u00e7\u00e3o em dashboards como Grafana, Datadog ou New Relic.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">\ud83d\udc49 Depend\u00eancia m\u00ednima:<\/h3>\n\n\n\n<pre class=\"wp-block-code\"><code>&lt;dependency&gt;\n    &lt;groupId&gt;org.springframework.boot&lt;\/groupId&gt;\n    &lt;artifactId&gt;spring-boot-starter-actuator&lt;\/artifactId&gt;\n&lt;\/dependency&gt;<\/code><\/pre>\n\n\n\n<h3 class=\"wp-block-heading\">\ud83d\udc49 Endpoints uteis:<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li><code>\/actuator\/health<\/code><\/li>\n\n\n\n<li><code>\/actuator\/metrics<\/code><\/li>\n\n\n\n<li><code>\/actuator\/prometheus<\/code><\/li>\n<\/ul>\n\n\n\n<p>Tudo isso pronto para produ\u00e7\u00e3o.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">4. Configura\u00e7\u00e3o mais limpa com o novo Spring Configuration Framework<\/h2>\n\n\n\n<p>O Spring Boot 4 reduz ainda mais a necessidade de arquivos enormes de configura\u00e7\u00e3o e torna o uso de properties mais inteligente.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">\ud83d\udc49 Exemplo moderno de configura\u00e7\u00e3o:<\/h3>\n\n\n\n<pre class=\"wp-block-code\"><code>@ConfigurationProperties(prefix = \"app\")\npublic record AppConfig(String name, int threads) {}\n<\/code><\/pre>\n\n\n\n<p>Arquivo <code>application.properties<\/code>:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>app.name=meu-sistema\napp.threads=8\n<\/code><\/pre>\n\n\n\n<p>Sem boilerplate. Sem getters. Sem setters.<br>Simples assim.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">5. Melhorias em IA\/ML e suporte oficial ao Spring AI<\/h2>\n\n\n\n<p>Agora voc\u00ea pode conectar sua API a modelos generativos como GPT, LLaMA, Claude, Mistral e outros de forma nativa.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">\ud83d\udc49 Exemplo ultra r\u00e1pido:<\/h3>\n\n\n\n<pre class=\"wp-block-code\"><code>@Autowired\nChatModel chat;\n\npublic String askAI() {\n    return chat.call(\"Explique o que \u00e9 o Spring Boot 4 em uma frase.\");\n}<\/code><\/pre>\n\n\n\n<p>Boom: intelig\u00eancia artificial plugada direto na sua API.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">6. Novidades no Web: Spring MVC e WebFlux mais leves<\/h2>\n\n\n\n<p>Spring Boot 4 traz:<\/p>\n\n\n\n<p>\u2714 Melhor performance no Spring MVC<br>\u2714 WebFlux otimizado para threads virtuais<br>\u2714 Novo HttpInterface simplificada<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">\ud83d\udc49 Exemplo do novo HttpInterface:<\/h3>\n\n\n\n<pre class=\"wp-block-code\"><code>@HttpExchange(\"\/users\")\npublic interface UserClient {\n\n    @GetExchange(\"\/{id}\")\n    User getUser(@PathVariable Integer id);\n}<\/code><\/pre>\n\n\n\n<p>Cliente HTTP moderno, sem RestTemplate, sem WebClient e sem complica\u00e7\u00e3o.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">7. Integra\u00e7\u00e3o mais simples com bancos: JPA, R2DBC, JOOQ, Flyway<\/h2>\n\n\n\n<p>Al\u00e9m de melhorias internas no Hibernate, o Spring Boot 4 facilita o uso de:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>PostgreSQL<\/li>\n\n\n\n<li>MariaDB<\/li>\n\n\n\n<li>Oracle<\/li>\n\n\n\n<li>MongoDB<\/li>\n\n\n\n<li>Redis<\/li>\n\n\n\n<li>Kafka<\/li>\n\n\n\n<li>Elasticsearch<\/li>\n<\/ul>\n\n\n\n<p>Tudo com auto-configura\u00e7\u00e3o mais inteligente e menos peso no classpath.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">\ud83d\udc49 Exemplo:<\/h3>\n\n\n\n<pre class=\"wp-block-code\"><code>@Repository\npublic interface UserRepository extends JpaRepository&lt;User, Long&gt; {}<\/code><\/pre>\n\n\n\n<p>Sim, continua simples \u2014 mas agora roda melhor, mais r\u00e1pido e com menos mem\u00f3ria.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">8. Cloud-first &amp; Containers por padr\u00e3o<\/h2>\n\n\n\n<p>O Spring Boot 4 assume que voc\u00ea vai rodar sua aplica\u00e7\u00e3o em:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Docker<\/li>\n\n\n\n<li>Kubernetes<\/li>\n\n\n\n<li>Cloud (AWS, Azure, GCP)<\/li>\n\n\n\n<li>Serverless<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\">\ud83d\udc49 Gerar imagem Docker automaticamente:<\/h3>\n\n\n\n<pre class=\"wp-block-code\"><code>mvn spring-boot:build-image<\/code><\/pre>\n\n\n\n<p>Cria uma imagem tiny, perfeita para deploy.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">9. Foco em DX (Developer Experience)<\/h2>\n\n\n\n<p>Spring Boot 4 foi feito para desenvolvedores jovens e devs modernos:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Menos XML<\/li>\n\n\n\n<li>Menos anota\u00e7\u00f5es obrigat\u00f3rias<\/li>\n\n\n\n<li>Logs mais bonitos<\/li>\n\n\n\n<li>Erros mais f\u00e1ceis de entender<\/li>\n\n\n\n<li>DevTools mais r\u00e1pido no reload<\/li>\n<\/ul>\n\n\n\n<p>Voc\u00ea passa menos tempo configurando e mais tempo <strong>criando<\/strong>.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Conclus\u00e3o: Spring Boot 4 \u00e9 o futuro do Java moderno<\/h2>\n\n\n\n<p>Se voc\u00ea est\u00e1 come\u00e7ando agora ou j\u00e1 \u00e9 experiente, o Spring Boot 4 representa:<\/p>\n\n\n\n<p>\u2714 Melhor performance<br>\u2714 Menos burocracia<br>\u2714 Melhor integra\u00e7\u00e3o com IA<br>\u2714 APIs mais r\u00e1pidas, leves e f\u00e1ceis de manter<br>\u2714 C\u00f3digo mais limpo e divertido<\/p>\n\n\n\n<p>\u00c9 o tipo de ferramenta que deixa o Java com aquela <strong>cara de framework moderno<\/strong>, pronto para competir com Node, Go, Python \u2014 e vencer.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Spring Boot 4: O que h\u00e1 de novo? Novidades, melhorias e exemplos curtos para voc\u00ea dominar o futuro do Java O Spring Boot sempre foi um dos queridinhos da galera que trabalha com Java. Ele simplifica configura\u00e7\u00f5es, acelera o desenvolvimento e entrega aplica\u00e7\u00f5es robustas com pouco esfor\u00e7o.Agora, com o Spring Boot 4, a plataforma d\u00e1&#8230;<\/p>\n","protected":false},"author":1,"featured_media":7,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_kad_post_transparent":"","_kad_post_title":"","_kad_post_layout":"","_kad_post_sidebar_id":"","_kad_post_content_style":"","_kad_post_vertical_padding":"","_kad_post_feature":"","_kad_post_feature_position":"","_kad_post_header":false,"_kad_post_footer":false,"_kad_post_classname":"","footnotes":""},"categories":[2],"tags":[],"class_list":["post-6","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-dev"],"_links":{"self":[{"href":"https:\/\/tiagoiwamoto.com.br\/index.php?rest_route=\/wp\/v2\/posts\/6","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/tiagoiwamoto.com.br\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/tiagoiwamoto.com.br\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/tiagoiwamoto.com.br\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/tiagoiwamoto.com.br\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=6"}],"version-history":[{"count":1,"href":"https:\/\/tiagoiwamoto.com.br\/index.php?rest_route=\/wp\/v2\/posts\/6\/revisions"}],"predecessor-version":[{"id":8,"href":"https:\/\/tiagoiwamoto.com.br\/index.php?rest_route=\/wp\/v2\/posts\/6\/revisions\/8"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/tiagoiwamoto.com.br\/index.php?rest_route=\/wp\/v2\/media\/7"}],"wp:attachment":[{"href":"https:\/\/tiagoiwamoto.com.br\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=6"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/tiagoiwamoto.com.br\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=6"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/tiagoiwamoto.com.br\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=6"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}