Spring na prática: IMC, DTO e RoboComponent juntos
Como modelar IMC Request como record imutável, trafegar peso/altura e entender @RoboComponent no component scanning do Spring.
Ideia central
Então é o seguinte, cara, a anotação RoboComponent no Spring Framework, geralmente ela é usada para a gente marcar uma classe Java como um componente que vai ser gerenciado pelo Spring. Em termos práticos: transforme isso em ritual com métrica e dono, ou o insight morre no feed.
O que o material de origem realmente diz
Então é o seguinte, cara, a anotação RoboComponent no Spring Framework, geralmente ela é usada para a gente marcar uma classe Java como um componente que vai ser gerenciado pelo Spring. E eles os alunos vão me mandar o peso e altura vou mostrar o resultado e eu vou criar um endpoint lá que sempre que eles quiserem ver o último resultado vai retornar também então eu vou usar a linguagem java eu vou usar o meio vim eu vou usar o spring boot 355 eu vou colocar aqui um pacote pode ser com ponto exemplo isso aqui não não me importa muito agora o IMC vou colocar com.
Então, quando tu anota uma classe com o RoboComponent, o Spring vai detectar automaticamente... Quando a gente vai programar em Java, com Spring, geralmente tu pode criar pela IDE mesmo, ou tu pode criar, se tu usa o VS Code, tu pode criar o projeto por lá, tu pode adicionar as dependências por lá. E eu vou retornar aqui o último resultado então a nossa camada de controller ela ficou exatamente assim certo agora o que que eu vou fazer pessoal eu vou trabalhar criar um docker file para gente subir é esse exatamente é assim mesmo no spring boost Deixa eu só ver aqui agora uma coisa, deixa eu só ver aqui uma coisa, antes, porque eu tenho que logar aqui onde eu vou hospedar, pera lá, pera lá, pera lá, é...
Por que isso importa na operação
Então, da teoria do Java, a parte de orientação a objetos, conhecer classe, conhecer objeto, conhecer PO, e depois tu parte por Spring. Estou iniciando no Spring também, estou trocando de carreira, gosto do Java e também do Spring. Show de bola Pessoal, quem aqui Já programa Spring, gosta de Spring Há muito tempo assim, sabe de tudo Ou quem iniciando Como é que aí, deixa eu colocar uma musiquinha só pra gente interagir aqui antes de eu fazer o resto vamos ver se essa música é boa Iniciando?
E é isso que nós vamos fazer hoje, desenvolver essa aplicaçãozinha com Spring, subir num servidor, pode ser no Render, pode ser na Vercel, pode ser em qualquer lugar, para disponibilizar também para os meus alunos e para quem quiser usar. E eu iniciei agora eu vou fazer uma aplicação do zero vou explicar direitinho como é que funciona então se tu nunca viu Spring não tem problema certo vai ser por isso que é uma aplicação bem básica que B.
Na prática
Regra: se não há output auditável ligado a «spring imc dto robocomponent», ainda é consumo — não sistema.
Como estruturar o método
Eu vou vir aqui new java class imc controller esse MC controller vai estar com anotação hash controller e ele vai ter o request mapping aqui que eu vou colocar uma rota principal a rota principal vai ser barra api barra imc essa vai ser a rota principal perfeito a rota principal que que eu vou criar aqui eu vou usar o serviço então private final e MC services e MC services vou criar aqui o construtor então public e MC controller passando e MC services beleza e vou dar o disso Certo?
Então o meu container vai pegar esse copy da target e vai transformar em a app .jar e agora a única coisa que eu preciso fazer é o comando java-jar para ele rodar a minha aplicação, como é que eu faço isso via dockerfile eu venho aqui e crio um entry point que a gente chama isso aqui é um vetor então eu vou colocar agora o comandinho então eu vou colocar o comandinho java virgula traço jar virgula app.jar Pronto.
Erros que drenam o resultado
Eu vou botar algumas antes a gente subir para o render aqui então você não vai ficar uma live enorme deixa eu botar aqui vamos lá aqui pega dessa aqui então eu recomendo de conteúdo de Java vamos lá no meu meu meu canal aqui ó então eu recomendo fiasco recomendo muito fiasco o deve magro o carrilho recomendo demais Gente boa, inclusive agradeço o Carrilho por toda essa força que ele tem me dado também, ?
Gostei demais, eu fiz o curso de Angular pra me atualizar, porque eu sei programar em Angular, mas eu tô mais focado em outros processos da empresa do que programar fiz o curso deles, é fantástico o curso de Angular e aqui tu vai ter 450 de desconto , usando o meu cupom aqui, e o curso Java 10x do Fiasco é bom demais , bom demais, beleza pessoal, bom, vamos lá, vamos lá olha só gente Eu subi no...
Atenção
Não otimize ferramenta antes de ter hipótese e métrica. Stack nova sem critério só acelera o erro.
Aplicação em uma semana
Então aqui, last result storage, ele vai usar a anotação component do Spring, e aqui eu vou criar aqui um, não sei se isso aqui vai dar certo, mas ó, imc response, que é o last result, ? Copiei o jar que foi gerado que tem esse nome maluco aqui pro app.jar e rodei o comandinho java-jar appjar para rodar o nosso sistema é isso que eu fiz, meu dockerfile ficou assim bom, eu vou rodar aqui a nossa aplicação só pra ver se ela vai funcionar então vou dar o play pode ser que dê erro porque eu não testei nada vamos rodar ele aqui Beleza, ela já está disponível na porta 8080.
Peguei e criei o meu objeto de resposta, então new response passando as variáveis do meu record salvei o resultado e retornei, é isso aqui esse vai ser o meu service, perfeito, e agora o que eu vou fazer eu vou pegar o meu response e eu vou criar um método que é obter o último resultado para retornar aqui Se um aluno chamar esse método, ele vai pegar o resultado de um outro aluno.
Perguntas frequentes
Se você atacar «Por que isso importa na operação» primeiro, o que muda em 48h — recorte `spring-imc-dto-robocomponent`?
Do texto: Então, da teoria do Java, a parte de orientação a objetos, conhecer classe, conhecer objeto, conhecer PO, e depois tu parte por Spring. Estou iniciando no Spring também, estou trocando de carreira, gosto do Java e também do Spring. Show de bola Pessoal, quem.
Como amarrar «Como estruturar o método» a uma métrica única — recorte `spring-imc-dto-robocomponent`?
Eu vou vir aqui new java class imc controller esse MC controller vai estar com anotação hash controller e ele vai ter o request mapping aqui que eu vou colocar uma rota principal a rota principal vai ser barra api barra imc essa vai ser a rota principal. Em «Como estruturar o método», trate como experimento com dono e prazo — não como lista de intenções.
Qual erro clássico de execução «Erros que drenam o resultado» evita — recorte `spring-imc-dto-robocomponent`?
Comece pelo mecanismo: Eu vou botar algumas antes a gente subir para o render aqui então você não vai ficar uma live enorme deixa eu botar aqui vamos lá aqui pega dessa aqui então eu recomendo de conteúdo de Java vamos lá no meu meu meu canal aqui ó então eu recomendo fiasco.
Como explicar «Aplicação em uma semana» sem virar checklist motivacional — recorte `spring-imc-dto-robocomponent`?
Critério do material: Então aqui, last result storage, ele vai usar a anotação component do Spring, e aqui eu vou criar aqui um, não sei se isso aqui vai dar certo, mas ó, imc response, que é o last result, ? Copiei o jar que foi gerado que tem esse nome maluco aqui pro app.jar e. Se precisar de segundo sinal: Peguei e criei o meu objeto de resposta, então new response passando as variáveis do meu record salvei o resultado e retornei, é isso aqui esse vai ser o meu service, perfeito, e.