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.

