image

Accede a bootcamps ilimitados y a mĂĄs de 750 cursos para siempre

70
%OFF
Article image
Lenoln Muniz
Lenoln Muniz03/06/2026 23:10
Compartir

Do CRUD ao Assistente Corporativo: O Que Aprendi com a Mentoria de IA com Spring Boot

    📝 Este artigo Ă© um relato de aprendizado baseado na mentoria "Aumentando a Produtividade com IA no Desenvolvimento com Spring", ministrada por RogĂ©rio Tomaz (NTT DATA) na DIO. Os exemplos de cĂłdigo foram escritos e validados de forma independente, com base nos conceitos apresentados. ⚠ Spring AI e suas dependĂȘncias evoluem rapidamente. Sempre verifique a versĂŁo mais recente em spring.io/projects/spring-ai antes de usar em projetos reais.

    Introdução

    Segundo o Stack Overflow Developer Survey 2025, aproximadamente 70% dos usuårios de agentes concordam que os agentes reduziram o tempo gasto em tarefas específicas de desenvolvimento, e 69% concordam que aumentaram a produtividade. Não como curiosidade - como parte do fluxo diårio de desenvolvimento. E no ecossistema Java com Spring Boot, esse movimento chegou com força: hoje é possível criar um assistente corporativo inteligente com a mesma base que antes servia apenas para CRUDs e APIs REST tradicionais.

    Quando entrei na mentoria do Rogério Tomaz, esperava aprender mais um recurso técnico. O que encontrei foi uma mudança de perspectiva. Não se trata de substituir o que o dev jå sabe - se trata de expandir o que ele consegue construir, sem abrir mão da qualidade, da arquitetura e dos fundamentos que sustentam qualquer sistema sério.

    Este artigo Ă© um registro do que aprendi.

    Se vocĂȘ Ă© dev jĂșnior ou atĂ© mesmo leigo em transição de carreira e quer entender como usar IA com responsabilidade tĂ©cnica - leia atĂ© o final.

    Como a IA Mudou o Mercado de Desenvolvimento?

    Por anos, o trabalho como desenvolvedor backend Java girava em torno - como a maioria conhece - de um conjunto bem conhecido de entregas:

    • CRUDs (Create, Read, Update, Delete)
    • APIs REST
    • MonĂłlitos ou microsserviços tradicionais
    • Desenvolvimento sequencial, manual, ciclo longo

    Esse trabalho continua existindo. Mas o como mudou.

    Hoje, o desenvolvedor que ignora IA estĂĄ abrindo mĂŁo de uma vantagem competitiva real. O mercado passou a contar com:

    Antes:

    • CĂłdigo 100% manual
    • Documentação escrita Ă  mĂŁo
    • Debug solitĂĄrio
    • ProtĂłtipos demorados
    • Testes escritos depois
    • Sistemas passivos

    Agora:

    • IAs auxiliadoras de desenvolvimento
    • Geração automatizada de documentação
    • Copilotos que explicam erros
    • Geração de cĂłdigo base em minutos
    • Testes gerados junto com o cĂłdigo
    • Agentes e sistemas inteligentes

    A pergunta que a mentoria colocou na minha cabeça foi: vocĂȘ sabe usar essa mudança a seu favor - ou estĂĄ deixando ela passar?

    A IA nĂŁo vai substituir o desenvolvedor. Vai substituir o desenvolvedor que recusou aprender a usĂĄ-la.

    Onde a IA Ajuda no Desenvolvimento com Spring?

    Com ferramentas como Claude, GitHub Copilot, ChatGPT e o Spring AI, um dev Java pode hoje:

    • Gerar entidades JPA a partir de uma descrição de domĂ­nio
    • Gerar APIs REST completas com endpoints, DTOs e validaçÔes
    • Gerar testes unitĂĄrios com JUnit e Mockito para cĂłdigo existente
    • Explicar cĂłdigo legado - aquele que ninguĂ©m mais sabe de onde veio ou pra que serve
    • Criar documentação Swagger/OpenAPI de forma automĂĄtica
    • Acelerar protĂłtipos - de ideia a endpoint funcional em minutos
    • Sugerir melhorias de performance, legibilidade e segurança

    Cada um desses pontos representa horas economizadas por semana. Mas - e essa foi a virada de chave da mentoria - economia de tempo sĂł tem valor se o que foi gerado Ă© confiĂĄvel, legĂ­vel e sustentĂĄvel.

    IA NÃO Substitui Fundamentos - Esse É o Ponto Mais Importante

    IA Ă© um multiplicador, nĂŁo uma base. Se vocĂȘ nĂŁo tem a base, nĂŁo tem o que multiplicar.

    Durante a mentoria ficou claro que, independente de quanto cĂłdigo a IA gere, vocĂȘ ainda precisa dominar os fundamentos, como:

    • HTTP e REST - para entender o que seu endpoint estĂĄ fazendo de verdade
    • Arquitetura - para saber se o cĂłdigo gerado estĂĄ no lugar certo
    • JPA e Hibernate - para nĂŁo criar queries que travam o banco em produção
    • Testes - para saber que o sistema funciona antes do usuĂĄrio descobrir que nĂŁo funciona
    • Segurança - porque a IA raramente pensa em autenticação, autorização e OWASP (Open Web Application Security Project)
    • Observabilidade - logs, mĂ©tricas, traces - o que acontece quando der errado em produção
    • Cloud - porque a entrega final mora lĂĄ, nĂŁo no seu localhost

    Se a IA gera um cĂłdigo ruim e vocĂȘ nĂŁo sabe que ele Ă© ruim, o problema nĂŁo Ă© a IA. O problema Ă©: a lacuna nos fundamentos.

    Spring Boot nĂŁo Ă© mĂĄgica. Quando vocĂȘ entende os fundamentos, parece mĂĄgica - mas Ă© engenharia.

    Como Usar IA com Qualidade e Arquitetura?

    Como transformar o output da IA em código de produção? A resposta é uma palavra: contexto.

    Quanto mais contexto vocĂȘ fornece Ă  IA, melhor ela responde. Mas contexto vai alĂ©m do prompt - Ă© a estrutura que envolve toda a entrega.

    Planejamento antes de gerar

    Antes de pedir qualquer cĂłdigo Ă  IA, defina:

    • O que essa feature faz?
    • Quais sĂŁo as entradas e saĂ­das?
    • Quais camadas ela toca (controller, service, repository)?
    • Quais regras de negĂłcio precisam ser respeitadas?

    Com isso no prompt, a resposta da IA sai em um nĂ­vel completamente diferente.

    Arquitetura SOLID como filtro

    O cĂłdigo gerado deve passar pelo filtro SOLID:

    • S - Single Responsibility: cada classe faz uma coisa sĂł
    • O - Open/Closed: aberta para extensĂŁo, fechada para modificação
    • L - Liskov: subclasses devem poder substituir a classe pai
    • I - Interface Segregation: interfaces pequenas e especĂ­ficas
    • D - Dependency Inversion: dependa de abstraçÔes, nĂŁo de implementaçÔes

    A IA frequentemente viola o princĂ­pio S - gera mĂ©todos longos que fazem muita coisa. Cabe a vocĂȘ refatorar.

    CĂłdigo limpo e organizado

    Estrutura de pacotes clara, nomes de variĂĄveis que comunicam intenção/objetividade, ausĂȘncia de comentĂĄrios que explicam cĂłdigo ruim (o cĂłdigo deve se explicar). Revise o que foi gerado como se fosse para um code review com o time.

    Boas prĂĄticas REST - O contrato da sua API

    A IA gera endpoints, mas nĂŁo garante que eles seguem boas prĂĄticas REST. Revise sempre:

    • Substantivos no plural para recursos (/usuĂĄrios, nĂŁo /getUsuario)
    • Verbos HTTP corretos (GET para leitura, POST para criaçã, PUT/PATCH para atualização, DELETE para remoção)
    • Status codes semĂąnticos (200 OK, 201 Created, 400 Bad Request, 404 Not Found, 500 Internal Server Error)
    • Versionamento de API (/api/v1/usuarios)

    Testes UnitĂĄrios: A IA Gera, VocĂȘ Valida

    Pedir Ă  IA que gere testes para o cĂłdigo que vocĂȘ acabou de escrever. O resultado Ă© um ponto de partida sĂłlido — mas precisa de revisĂŁo crĂ­tica.

    // Exemplo: Service de usuĂĄrio com Spring Boot + JUnit 5 + Mockito
    @ExtendWith(MockitoExtension.class)
    class UsuarioServiceTest {
    
      // Mock do repositório — não acessa o banco de verdade
      @Mock
      private UsuarioRepository usuarioRepository;
    
      // Injeta o mock no service que estamos testando
      @InjectMocks
      private UsuarioService usuarioService;
    
      @Test
      @DisplayName("Deve retornar usuĂĄrio quando ID existir")
      void deveRetornarUsuarioQuandoIdExistir() {
          // Arrange — prepara os dados
          Long id = 1L;
          Usuario usuarioEsperado = new Usuario(id, "Lenoln", "lenoln@email.com");
          when(usuarioRepository.findById(id)).thenReturn(Optional.of(usuarioEsperado));
    
          // Act — executa o mĂ©todo testado
          Usuario resultado = usuarioService.buscarPorId(id);
    
          // Assert — verifica o resultado
          assertNotNull(resultado);
          assertEquals("Lenoln", resultado.getNome());
          verify(usuarioRepository, times(1)).findById(id);
      }
    }
    
    

    Peça à IA: "Gere testes unitårios com JUnit 5 e Mockito para este service, cobrindo cenårios de sucesso, não encontrado e exceção." Depois leia cada testegerado e entenda o que ele estå validando.

    Documentação com Swagger/OpenAPI

    Nenhuma API profissional existe sem documentação. Com Spring Boot, adicionar Swagger é simples:

    <!-- pom.xml -->
     <dependency>
        <groupId>org.springdoc</groupId>
        <artifactId>springdoc-openapi-starter-webmvc-ui</artifactId>
        <version>2.8.17</version>
     </dependency>
    

    Com isso, sua documentação fica disponĂ­vel em http://localhost:8080/swagger-ui.html. A IA pode gerar as anotaçÔes @Operation, @ApiResponse e @Parameter para cada endpoint - e vocĂȘ valida se a descrição estĂĄ correta e Ăștil.

    A Jornada de Mariana (História Hipotética)

    Mariana chegou na mentoria com um portfĂłlio de trĂȘs projetos Spring Boot — todos CRUDs bĂĄsicos, todos funcionando, nenhum com testes, nenhum com Docker. Ela sabia fazer o bĂĄsico. Mas sentia que o bĂĄsico nĂŁo bastava mais.

    Durante as sessÔes, ela começou a usar IA para gerar os testes que nunca escreveu. Depois, para criar o Dockerfile que nunca configurou. Depois, para documentar os endpoints que ficavam só na cabeça. Cada passo, ela leu, entendeu e questionou antes de aplicar.

    No final da mentoria, ela tinha um projeto diferente no GitHub: uma API com Spring Boot e Spring AI que respondia perguntas sobre documentos internos de uma empresa fictĂ­cia. Tinha testes. Tinha Swagger. Tinha Docker. Tinha um README com arquitetura documentada.

    Na primeira entrevista tĂ©cnica depois disso, o recrutador olhou para o repositĂłrio e perguntou: "VocĂȘ fez tudo isso sozinha?"

    Ela respondeu: "Eu e as ferramentas certas — mas cada linha, eu entendi."

    ConclusĂŁo: O Dev que Usa IA com ConsciĂȘncia Chega Mais Longe

    O que absorvi da mentoria do RogĂ©rio Tomaz na NTT DATA nĂŁo foi sobre usar IA para escrever cĂłdigo mais rĂĄpido. Foi sobre usar IA para construir software melhor — com arquitetura, com testes, com documentação, com containerização e com os fundamentos no lugar certo.

    O mercado não estå buscando devs que sabem acionar o Copilot. Estå buscando devs que sabem avaliar o que o Copilot entregou. Essa distinção faz toda a diferença.

    Nossos prĂłximos passos:

    1. Estude os fundamentos - HTTP, REST, JPA, testes, segurança. IA amplia quem tem base.
    2. Crie projetos reais com Spring Boot - coloque no GitHub, documente, containerize.
    3. Use IA com critério - leia cada linha gerada, entenda, questione a si mesmo e a própria IA, refatore.
    4. Invista em formação contínua - graduação, cursos, mentorias como essa da DIO.
    5. Teste prompts para aprender - pergunte Ă  IA: "Explique este trecho como se eu nunca tivesse visto Spring Boot." Depois pergunte o porquĂȘ de cada detalhe.
    VocĂȘ nĂŁo precisa ser sĂȘnior para usar IA com qualidade. VocĂȘ precisa ser intencional.

    Recursos para Continuar

    Sobre o autor: Professor de Programação em Escola PĂșblica Estadual, formando em CiĂȘncia da Computação e em AnĂĄlise e Desenvolvimento de Sistemas. Apaixonado por Back-End, Java, Spring Boot e InteligĂȘncia Artificial, acredita que tecnologia de ponta deve ser acessĂ­vel a todos, independente do ponto de partida. Escreve para quem estĂĄ começando - porque todo especialista jĂĄ foi iniciante.

    Compartir
    Recomendado para ti
    Bootcamp Corpay - Back-end do Zero a PrĂĄtica
    GFT - Fundamentos de Cloud com AWS
    Bootcamp Bradesco - GenAI, Dados & Cyber
    Comentarios (0)