Spring é uma ferramenta do lado de fora
Um controller recebe HTTP, valida o formato de entrada e chama um caso de uso. Um adaptador de persistência implementa o contrato que a aplicação precisa. O domínio expressa regras que não dependem da inicialização do Spring. Assim, o framework monta o sistema, mas suas anotações não definem sozinhas a fronteira do negócio.
Em projeto real, @Service pode estar na aplicação, @Repository no adaptador e uma classe de domínio pode continuar Java simples. A decisão importante é quais módulos importam quais outros e se esses limites continuam verificáveis em código. Nomes como service, repository e controller não provam separação por si sós.
Verifique o acoplamento de forma prática
Tente executar uma regra sem subir o contexto Spring. Veja se a regra aceita colaboradores por contrato. Inspecione se o controlador converte a resposta da aplicação para HTTP em vez de ser dono da política.
Recupere: se o Spring Boot fosse substituído, que regras deveriam continuar iguais?
Pratique com /aprender
/aprender Dê-me uma pequena estrutura Spring Boot para matrícula. Peça que eu marque cada classe como domínio, aplicação, entrada ou saída, depois revele imports que atravessam o limite e solicite uma correção simples por vez.
