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:
- Estude os fundamentos - HTTP, REST, JPA, testes, segurança. IA amplia quem tem base.
- Crie projetos reais com Spring Boot - coloque no GitHub, documente, containerize.
- Use IA com critério - leia cada linha gerada, entenda, questione a si mesmo e a própria IA, refatore.
- Invista em formação contĂnua - graduação, cursos, mentorias como essa da DIO.
- 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
- đ Spring AI â Documentação Oficial
- đ Spring Initializr
- đŠ springdoc-openapi
- đł Docker â Get Started
- đ DIO - FormaçÔes Java e Spring Boot
- đ OpenAI Platform â API para testes
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.



