Prévia do material em texto
<p>CopySpider</p><p>https://copyspider.com.br/ Página 1 de57</p><p>Relatório gerado por CopySpider Software 2024-09-19 21:57:05</p><p>Relatório do Software Anti-plágio CopySpider</p><p>Para mais detalhes sobre o CopySpider, acesse: https://copyspider.com.br</p><p>Instruções</p><p>Este relatório apresenta na próxima página uma tabela na qual cada linha associa o conteúdo do arquivo</p><p>de entrada com um documento encontrado na internet (para "Busca em arquivos da internet") ou do</p><p>arquivo de entrada com outro arquivo em seu computador (para "Pesquisa em arquivos locais"). A</p><p>quantidade de termos comuns representa um fator utilizado no cálculo de Similaridade dos arquivos sendo</p><p>comparados. Quanto maior a quantidade de termos comuns, maior a similaridade entre os arquivos. É</p><p>importante destacar que o limite de 3% representa uma estatística de semelhança e não um "índice de</p><p>plágio". Por exemplo, documentos que citam de forma direta (transcrição) outros documentos, podem ter</p><p>uma similaridade maior do que 3% e ainda assim não podem ser caracterizados como plágio. Há sempre a</p><p>necessidade do avaliador fazer uma análise para decidir se as semelhanças encontradas caracterizam ou</p><p>não o problema de plágio ou mesmo de erro de formatação ou adequação às normas de referências</p><p>bibliográficas. Para cada par de arquivos, apresenta-se uma comparação dos termos semelhantes, os</p><p>quais aparecem em vermelho.</p><p>Veja também:</p><p>Analisando o resultado do CopySpider</p><p>Qual o percentual aceitável para ser considerado plágio?</p><p>https://copyspider.com.br/</p><p>https://copyspider.com.br/</p><p>https://copyspider.com.br/</p><p>https://copyspider.com.br/main/pt-br/analyzing-the-results-of-copyspider</p><p>https://copyspider.com.br/main/pt-br/analyzing-the-results-of-copyspider</p><p>https://copyspider.com.br/main/pt-br/qual-o-percentual-aceitavel-para-ser-considerado-plagio</p><p>CopySpider</p><p>https://copyspider.com.br/ Página 2 de57</p><p>Relatório gerado por CopySpider Software 2024-09-19 21:57:05</p><p>Versão do CopySpider: 2.3.1</p><p>Relatóriogeradopor:thatyaneemessias@gmail.com</p><p>Modo: web / quick</p><p>Arquivos</p><p>Termos comuns</p><p>Similaridade</p><p>ATIVIDADEPRATICA-JOAOPAULO-</p><p>PROGRAMAÇÃO.docxX</p><p>https://medium.com/@ruanvbl/como-iniciar-uma-api-rest-com-</p><p>spring-boot-utilizando-o-spring-initializr-e7618e01613e</p><p>22 1,05</p><p>ATIVIDADEPRATICA-JOAOPAULO-</p><p>PROGRAMAÇÃO.docxX</p><p>https://medium.com/@felipemazzi/primeiros-passos-para-criar-</p><p>uma-api-rest-em-java-com-spring-boot-cfa4865306e9</p><p>39 1,01</p><p>ATIVIDADEPRATICA-JOAOPAULO-</p><p>PROGRAMAÇÃO.docxX</p><p>https://blog.danielpadua.dev/pt/posts/java-spring-boot-eclipse</p><p>11 0,44</p><p>ATIVIDADEPRATICA-JOAOPAULO-</p><p>PROGRAMAÇÃO.docxX</p><p>https://codegym.cc/pt/groups/posts/pt.112.serializacao-e-</p><p>desserializacao-em-java</p><p>5 0,14</p><p>ATIVIDADEPRATICA-JOAOPAULO-</p><p>PROGRAMAÇÃO.docxX</p><p>https://www.bing.com/ck/a?!&&p=163159e8309955d9JmltdHM9</p><p>MTcyNjcwNDAwMCZpZ3VpZD0wOTYxNGI2Ni1hMmY5LTZlNT</p><p>gtMTU5YS01ZTY2YTNmODZmZjMmaW5zaWQ9NTE2OA&ptn</p><p>=3&ver=2&hsh=3&fclid=09614b66-a2f9-6e58-159a-</p><p>5e66a3f86ff3&u=a1aHR0cHM6Ly93d3cuc3R1ZG9jdS5jb20vcHQt</p><p>YnIvZG9jdW1lbnQvYW5oYW5ndWVyYS1lZHVjYXRpb25hbC9kZ</p><p>XNlbmhvLXRlY25pY28vcm90ZWlyby1hdWxhLXByYXRpY2EtZGV</p><p>zZW5oby10ZWNuaWNvLXByb2pldGl2by85MjAyNzY4NA&ntb=1</p><p>0 0,00</p><p>ATIVIDADE PRATICA - JOAO PAULO -</p><p>PROGRAMAÇÃO.docxX</p><p>https://community.auth0.com/t/get-started-with-custom-error-</p><p>handling-in-spring-boot-java/70322</p><p>0 0,00</p><p>Arquivos com problema de download</p><p>https://accounts.google.com/login?service=mail&lp=1 Não foi possível baixar o arquivo. É</p><p>recomendávelbaixaroarquivo</p><p>manualmenteerealizaraanáliseem</p><p>conluio (Um contra todos). HTTP</p><p>response code: 302 - Index 30 out of</p><p>bounds for length 30</p><p>https://copyspider.com.br/</p><p>https://copyspider.com.br/</p><p>mailto:thatyaneemessias@gmail.com</p><p>https://accounts.google.com/login?service=mail&lp=1</p><p>CopySpider</p><p>https://copyspider.com.br/ Página 3 de57</p><p>Relatório gerado por CopySpider Software 2024-09-19 21:57:05</p><p>https://www.studocu.com/ec/document/universidade-norte-do-</p><p>parana/libras-ou-programacao-para-web-ii/portifolio-</p><p>programacao-web/95767470</p><p>Nãofoipossívelbaixaroarquivo.É</p><p>recomendável baixar o arquivo</p><p>manualmente e realizar a análise em</p><p>conluio (Um contra todos). HTTP</p><p>response code: 200 - Server returned</p><p>HTTP response code: 403 for URL:</p><p>https://www.studocu.com/ec/document/uni</p><p>versidade-norte-do-parana/libras-ou-</p><p>programacao-para-web-ii/portifolio-</p><p>programacao-web/95767470</p><p>https://copyspider.com.br/</p><p>https://copyspider.com.br/</p><p>https://www.studocu.com/ec/document/universidade-norte-do-parana/libras-ou-programacao-para-web-ii/portifolio-programacao-web/95767470</p><p>https://www.studocu.com/ec/document/universidade-norte-do-parana/libras-ou-programacao-para-web-ii/portifolio-programacao-web/95767470</p><p>https://www.studocu.com/ec/document/universidade-norte-do-parana/libras-ou-programacao-para-web-ii/portifolio-programacao-web/95767470</p><p>https://www.studocu.com/ec/document/universidade-norte-do-parana/libras-ou-programacao-para-web-ii/portifolio-programacao-web/95767470</p><p>https://www.studocu.com/ec/document/universidade-norte-do-parana/libras-ou-programacao-para-web-ii/portifolio-programacao-web/95767470</p><p>http://www.studocu.com/ec/document/uni</p><p>CopySpider</p><p>https://copyspider.com.br/ Página 4 de57</p><p>Relatório gerado por CopySpider Software 2024-09-19 21:57:06</p><p>=================================================================================</p><p>Arquivo 1: ATIVIDADE PRATICA - JOAO PAULO - PROGRAMAÇÃO.docx (1571 termos)</p><p>Arquivo2: https://medium.com/@ruanvbl/como-iniciar-uma-api-rest-com-spring-boot-utilizando-o-spring-</p><p>initializr-e7618e01613e (533 termos)</p><p>Termos comuns: 22</p><p>Similaridade: 1,05%</p><p>OtextoabaixoéoconteúdododocumentoATIVIDADEPRATICA-JOAOPAULO- PROGRAMAÇÃO.docx</p><p>(1571 termos)</p><p>Ostermosemvermelhoforamencontradosnodocumentohttps://medium.com/@ruanvbl/como-</p><p>iniciar-uma-api-rest-com-spring-boot-utilizando-o-spring-initializr-e7618e01613e (533 termos)</p><p>=================================================================================</p><p>15</p><p>FACULDADE ANHANGUERA</p><p>SistemadeEnsino100%ON LINE</p><p>curso</p><p>JOÃO PAULO FERREIRA DA CRUZ NUNES MACHADO</p><p>ATIVIDADE PRÁTICA</p><p>PROGRAMAÇÃOWEB</p><p>https://copyspider.com.br/</p><p>https://copyspider.com.br/</p><p>https://medium.com/%40ruanvbl/como-iniciar-uma-api-rest-com-spring-boot-utilizando-o-spring-initializr-e7618e01613e</p><p>https://medium.com/%40ruanvbl/como-iniciar-uma-api-rest-com-spring-boot-utilizando-o-spring-initializr-e7618e01613e</p><p>https://medium.com/%40ruanvbl/como-iniciar-uma-api-rest-com-spring-boot-utilizando-o-spring-initializr-e7618e01613e</p><p>https://medium.com/%40ruanvbl/como-iniciar-uma-api-rest-com-spring-boot-utilizando-o-spring-initializr-e7618e01613e</p><p>https://medium.com/%40ruanvbl/como-iniciar-uma-api-rest-com-spring-boot-utilizando-o-spring-initializr-e7618e01613e</p><p>CopySpider</p><p>https://copyspider.com.br/ Página 5 de57</p><p>Relatório gerado por CopySpider Software 2024-09-19 21:57:06</p><p>TAUBATE/SP</p><p>2024</p><p>JOINVILLE/SC</p><p>202</p><p>4</p><p>JOÃO PAULO FERREIRA DA CRUZ NUNES MACHADO</p><p>ATIVIDADE PRÁTICA</p><p>PROGRAMAÇÃOWEB</p><p>https://copyspider.com.br/</p><p>https://copyspider.com.br/</p><p>CopySpider</p><p>https://copyspider.com.br/ Página 6 de57</p><p>Relatório gerado por CopySpider Software 2024-09-19 21:57:06</p><p>RelatóriodeAtividadePrática</p><p>apresentado a Universidade</p><p>Anhanguera</p><p>comorequisitoparaobtençãodemédiapara a</p><p>disciplina de</p><p>Programação Web</p><p>.</p><p>TAUBATE/SP</p><p>202</p><p>4</p><p>SUMÁRIO</p><p>INTRODUÇÃO</p><p>https://copyspider.com.br/</p><p>https://copyspider.com.br/</p><p>CopySpider</p><p>https://copyspider.com.br/ Página 7 de57</p><p>Relatório gerado por CopySpider Software 2024-09-19 21:57:06</p><p>Spring Boot é um framework de plataforma que promove velocidade e simplifica o processo de</p><p>desenvolvimento de aplicações Java. O objetivo era permitir que desenvolvedores de todos os níveis de</p><p>habilidade criassem aplicativos sem</p><p>https://www.bing.com/ck/a?!&&p=163159e8309955d9JmltdHM9MTcyNjcwNDAwMCZpZ3VpZD0wOTYxNGI2Ni1hMmY5LTZlNTgtMTU5YS01ZTY2YTNmODZmZjMmaW5zaWQ9NTE2OA&ptn=3&ver=2&hsh=3&fclid=09614b66-a2f9-6e58-159a-5e66a3f86ff3&u=a1aHR0cHM6Ly93d3cuc3R1ZG9jdS5jb20vcHQtYnIvZG9jdW1lbnQvYW5oYW5ndWVyYS1lZHVjYXRpb25hbC9kZXNlbmhvLXRlY25pY28vcm90ZWlyby1hdWxhLXByYXRpY2EtZGVzZW5oby10ZWNuaWNvLXByb2pldGl2by85MjAyNzY4NA&ntb=1</p><p>https://www.bing.com/ck/a?!&&p=163159e8309955d9JmltdHM9MTcyNjcwNDAwMCZpZ3VpZD0wOTYxNGI2Ni1hMmY5LTZlNTgtMTU5YS01ZTY2YTNmODZmZjMmaW5zaWQ9NTE2OA&ptn=3&ver=2&hsh=3&fclid=09614b66-a2f9-6e58-159a-5e66a3f86ff3&u=a1aHR0cHM6Ly93d3cuc3R1ZG9jdS5jb20vcHQtYnIvZG9jdW1lbnQvYW5oYW5ndWVyYS1lZHVjYXRpb25hbC9kZXNlbmhvLXRlY25pY28vcm90ZWlyby1hdWxhLXByYXRpY2EtZGVzZW5oby10ZWNuaWNvLXByb2pldGl2by85MjAyNzY4NA&ntb=1</p><p>https://www.bing.com/ck/a?!&&p=163159e8309955d9JmltdHM9MTcyNjcwNDAwMCZpZ3VpZD0wOTYxNGI2Ni1hMmY5LTZlNTgtMTU5YS01ZTY2YTNmODZmZjMmaW5zaWQ9NTE2OA&ptn=3&ver=2&hsh=3&fclid=09614b66-a2f9-6e58-159a-5e66a3f86ff3&u=a1aHR0cHM6Ly93d3cuc3R1ZG9jdS5jb20vcHQtYnIvZG9jdW1lbnQvYW5oYW5ndWVyYS1lZHVjYXRpb25hbC9kZXNlbmhvLXRlY25pY28vcm90ZWlyby1hdWxhLXByYXRpY2EtZGVzZW5oby10ZWNuaWNvLXByb2pldGl2by85MjAyNzY4NA&ntb=1</p><p>https://www.bing.com/ck/a?!&&p=163159e8309955d9JmltdHM9MTcyNjcwNDAwMCZpZ3VpZD0wOTYxNGI2Ni1hMmY5LTZlNTgtMTU5YS01ZTY2YTNmODZmZjMmaW5zaWQ9NTE2OA&ptn=3&ver=2&hsh=3&fclid=09614b66-a2f9-6e58-159a-5e66a3f86ff3&u=a1aHR0cHM6Ly93d3cuc3R1ZG9jdS5jb20vcHQtYnIvZG9jdW1lbnQvYW5oYW5ndWVyYS1lZHVjYXRpb25hbC9kZXNlbmhvLXRlY25pY28vcm90ZWlyby1hdWxhLXByYXRpY2EtZGVzZW5oby10ZWNuaWNvLXByb2pldGl2by85MjAyNzY4NA&ntb=1</p><p>https://www.bing.com/ck/a?!&&p=163159e8309955d9JmltdHM9MTcyNjcwNDAwMCZpZ3VpZD0wOTYxNGI2Ni1hMmY5LTZlNTgtMTU5YS01ZTY2YTNmODZmZjMmaW5zaWQ9NTE2OA&ptn=3&ver=2&hsh=3&fclid=09614b66-a2f9-6e58-159a-5e66a3f86ff3&u=a1aHR0cHM6Ly93d3cuc3R1ZG9jdS5jb20vcHQtYnIvZG9jdW1lbnQvYW5oYW5ndWVyYS1lZHVjYXRpb25hbC9kZXNlbmhvLXRlY25pY28vcm90ZWlyby1hdWxhLXByYXRpY2EtZGVzZW5oby10ZWNuaWNvLXByb2pldGl2by85MjAyNzY4NA&ntb=1</p><p>https://www.bing.com/ck/a?!&&p=163159e8309955d9JmltdHM9MTcyNjcwNDAwMCZpZ3VpZD0wOTYxNGI2Ni1hMmY5LTZlNTgtMTU5YS01ZTY2YTNmODZmZjMmaW5zaWQ9NTE2OA&ptn=3&ver=2&hsh=3&fclid=09614b66-a2f9-6e58-159a-5e66a3f86ff3&u=a1aHR0cHM6Ly93d3cuc3R1ZG9jdS5jb20vcHQtYnIvZG9jdW1lbnQvYW5oYW5ndWVyYS1lZHVjYXRpb25hbC9kZXNlbmhvLXRlY25pY28vcm90ZWlyby1hdWxhLXByYXRpY2EtZGVzZW5oby10ZWNuaWNvLXByb2pldGl2by85MjAyNzY4NA&ntb=1</p><p>https://www.bing.com/ck/a?!&&p=163159e8309955d9JmltdHM9MTcyNjcwNDAwMCZpZ3VpZD0wOTYxNGI2Ni1hMmY5LTZlNTgtMTU5YS01ZTY2YTNmODZmZjMmaW5zaWQ9NTE2OA&ptn=3&ver=2&hsh=3&fclid=09614b66-a2f9-6e58-159a-5e66a3f86ff3&u=a1aHR0cHM6Ly93d3cuc3R1ZG9jdS5jb20vcHQtYnIvZG9jdW1lbnQvYW5oYW5ndWVyYS1lZHVjYXRpb25hbC9kZXNlbmhvLXRlY25pY28vcm90ZWlyby1hdWxhLXByYXRpY2EtZGVzZW5oby10ZWNuaWNvLXByb2pldGl2by85MjAyNzY4NA&ntb=1</p><p>https://www.bing.com/ck/a?!&&p=163159e8309955d9JmltdHM9MTcyNjcwNDAwMCZpZ3VpZD0wOTYxNGI2Ni1hMmY5LTZlNTgtMTU5YS01ZTY2YTNmODZmZjMmaW5zaWQ9NTE2OA&ptn=3&ver=2&hsh=3&fclid=09614b66-a2f9-6e58-159a-5e66a3f86ff3&u=a1aHR0cHM6Ly93d3cuc3R1ZG9jdS5jb20vcHQtYnIvZG9jdW1lbnQvYW5oYW5ndWVyYS1lZHVjYXRpb25hbC9kZXNlbmhvLXRlY25pY28vcm90ZWlyby1hdWxhLXByYXRpY2EtZGVzZW5oby10ZWNuaWNvLXByb2pldGl2by85MjAyNzY4NA&ntb=1</p><p>https://www.bing.com/ck/a?!&&p=163159e8309955d9JmltdHM9MTcyNjcwNDAwMCZpZ3VpZD0wOTYxNGI2Ni1hMmY5LTZlNTgtMTU5YS01ZTY2YTNmODZmZjMmaW5zaWQ9NTE2OA&ptn=3&ver=2&hsh=3&fclid=09614b66-a2f9-6e58-159a-5e66a3f86ff3&u=a1aHR0cHM6Ly93d3cuc3R1ZG9jdS5jb20vcHQtYnIvZG9jdW1lbnQvYW5oYW5ndWVyYS1lZHVjYXRpb25hbC9kZXNlbmhvLXRlY25pY28vcm90ZWlyby1hdWxhLXByYXRpY2EtZGVzZW5oby10ZWNuaWNvLXByb2pldGl2by85MjAyNzY4NA&ntb=1</p><p>CopySpider</p><p>https://copyspider.com.br/ Página 41 de57</p><p>Relatório gerado por CopySpider Software 2024-09-19 21:57:07</p><p>ATIVIDADE PRÁTICA</p><p>PROGRAMAÇÃOWEB</p><p>TAUBATE/SP</p><p>2024</p><p>JOINVILLE/SC</p><p>202</p><p>4</p><p>JOÃO PAULO FERREIRA DA CRUZ NUNES MACHADO</p><p>https://copyspider.com.br/</p><p>https://copyspider.com.br/</p><p>CopySpider</p><p>https://copyspider.com.br/ Página 42 de57</p><p>Relatório gerado por CopySpider Software 2024-09-19 21:57:07</p><p>ATIVIDADE PRÁTICA</p><p>PROGRAMAÇÃOWEB</p><p>RelatóriodeAtividadePrática</p><p>apresentado a Universidade</p><p>Anhanguera</p><p>comorequisitoparaobtençãodemédiapara a</p><p>disciplina de</p><p>Programação Web</p><p>.</p><p>TAUBATE/SP</p><p>202</p><p>4</p><p>SUMÁRIO</p><p>https://copyspider.com.br/</p><p>https://copyspider.com.br/</p><p>CopySpider</p><p>https://copyspider.com.br/ Página 43 de57</p><p>Relatório gerado por CopySpider Software 2024-09-19 21:57:07</p><p>INTRODUÇÃO</p><p>Spring Boot é um framework de plataforma que promove velocidade e simplifica o processo de</p><p>desenvolvimento de aplicações Java. O objetivo era permitir que desenvolvedores de todos os níveis de</p><p>habilidade criassem aplicativos sem precisar configurar manualmente o ambiente de desenvolvimento.</p><p>ComSpringBoot,vocêpodeiniciarumprojetousandoumaconfiguraçãopadrãoquejáincluimuitasdas bibliotecas</p><p>e dependências necessárias para criar aplicativos web. Além disso, fornece um framework poderoso para</p><p>configuração automática de aplicações, este framework é baseado nas variáveis</p><p>??ambientais presentes.</p><p>OutroaspectobenéficodoSpringBootéqueelesuportaumavariedadedebancosdedadosebibliotecas de</p><p>terceiros, o que permite aos desenvolvedores criar aplicativos mais eficazes e versáteis. Com sua</p><p>arquitetura modular bem estruturada, o Spring Boot também é simples de aumentar e personalizar, o que</p><p>o torna uma opção atraente para uma variedade de desenvolvedores Java.</p><p>OobjetivodestaempreitadafoicriarumsistemaparagerenciamentodeusuáriosviaAPIsRestutilizando o</p><p>framework Spring.</p><p>NesterelatóriopráticofoiimplementadoumprojetoBackendemRestAPIutilizandoalinguagemde programação</p><p>Java e o framework Spring na IDE Eclipse. O empreendimento possui objetivos que correspondem a um</p><p>CRUD, retornando usuários que foram criados no banco de dados.</p><p>Um projeto base com a arquitetura Spring foi construído com a opção de Maven, Java 17 e Spring 3.0.6,</p><p>todos associados ao framework Spring. Além de um complemento Spring Tools instalado pelo mercado</p><p>Eclipsequeimplementatratamentodeerrospararesolverpossíveisproblemasduranteousodosistema.</p><p>DESENVOLVIMENTO</p><p>UmdosusosmaiscomunsdeJavaécriaraplicativosbaseadosnaWebeAPIsREST,umdos frameworks mais</p><p>eficazes para isso é o Spring-boot.</p><p>Spring-boot se surpreende com a facilidade de criar um aplicativo web em minutos e com o mínimo de</p><p>código. A maneira mais simples de criar uma aplicação com Spring-Boot é através do Spring Initializr.</p><p>NestaempreitadafoiiniciadoumprojetoutilizandooframeworkSpringparagerenciarosusuáriosdeum</p><p>https://copyspider.com.br/</p><p>https://copyspider.com.br/</p><p>CopySpider</p><p>https://copyspider.com.br/ Página 44 de57</p><p>Relatório gerado por CopySpider Software 2024-09-19 21:57:07</p><p>sistema, este projeto era baseado em uma API Rest e exigia que os endpoints necessários estivessem</p><p>acessíveispararealizaraçõesdegerenciamentodeusuários(CRUD).AempreitadafoibaseadaemMVC e exigiu</p><p>a criação do modelo lógico para a criação do banco de dados, bem como a conexão a ele.</p><p>Juntamentecomalógicafundamental,eranecessárioumsistemaseparadoparalidarcomexceções.</p><p>RESULTADOS</p><p>O primeiro passo foi obter o software listado abaixo:</p><p>? Eclipse com Spring Tool: é um IDE baseado em Eclipse que utiliza Spring Boot, um IDE pré-existente</p><p>quepossuipluginsSpringquefacilitamodesenvolvimentocomoecossistemaspring.OsoftwareEclipse servirá</p><p>como importador de texto.</p><p>Figura 1: Spring Tools 4 for Eclipse</p><p>?Postman:éumaplicativoqueutilizaaAPIparatestes.ÉumclienteHTTPquetestasolicitaçõesHTTP através de</p><p>uma interface gráfica, fornecendo diferentes respostas que precisam ser aprovadas posteriormente.</p><p>Figura 2: Postman</p><p>OprojetobasefoiconstruídocomaestruturaSpringapartirdoseguintelink:https://start.spring.io/,foram</p><p>empregadas as seguintes opções: Maven, Java versão 17, Spring versão 3.0.0, empacotamento JAR,</p><p>Adicionar requisitos: SpringWeb . Selecionado "gerar". Descompacte o arquivo que</p><p>foi transferido para a</p><p>área do projeto.</p><p>Aberto o Spring Tool Suite e acessa do o projeto base através do caminho: ?File > Import> Maven</p><p>>ExistingMavenprojects?:selecionadaapastarecémcriada.Selecionadooarquivopom.xmlclicado em</p><p>?Finish?.</p><p>? Foi criada a classe User dentro do pacote entities em src/main/java.</p><p>? Foram criados os atributos básicos: id, nome, e-mail, telefone, password.</p><p>?Foicriadoumconstrutorvazioeumconstrutorusandotodososatributos(campos).Criadososgetterse setters.</p><p>?GeradaaimplementaçãoparaométodohashCode()eequals()(botãodireito>sourcegenerate hashCode...).</p><p>? Adicionada a esta classe as annotations @Entity e @Table(name = "tb_user")</p><p>https://copyspider.com.br/</p><p>https://copyspider.com.br/</p><p>CopySpider</p><p>https://copyspider.com.br/ Página 45 de57</p><p>Relatório gerado por CopySpider Software 2024-09-19 21:57:08</p><p>Figura 3: Criação da classe User</p><p>Em src/main/java, crido umpacote ?resource? edentro dele crida a classe UserResource (esta classe ira</p><p>ser o nosso controller). Adicionada as annotations @RestController e @RequestMapping(value="/users").</p><p>O banco de dados foi o H2 que é um banco de dados relacional que pode ser executado no modo cliente-</p><p>servidor. Iremos utilizar JPA para persistir os dados. Vamos então configurar nosso projeto para incluir a</p><p>dependênciadestesdoisrecursos.Paraistofoiadicionadoasseguintesdependênciasnoarquivopom.xml</p><p>conforme a figura a seguir:</p><p>Figura 4: Adição de dependências no arquivo pom.xml</p><p>Em src/m ain/resources, criado o arquivo application.properties (ele nos servirá para armazenar</p><p>propriedadesdeescopodoaplicativo).Adicionadasasseguinteslinhas:spring.profiles.active=teste</p><p>spring.jpa.open-in-view=true</p><p>Figura 5: Criado o arquivo application properties</p><p>Em src/main/resources, criado o arquivo application-test.properties (ele nos servirá para armazenar</p><p>propriedadesdeescopodoaplicativoparaarealizaçãodostesteslocais).Adicionadasasseguintes linhas:</p><p>Figura 6: Criado o arquivo application-test-properties</p><p>Emsrc/main/java,criadoumpacote?repositories?edentrodelecriadoainterfaceUserRepository.Estend ida a</p><p>classe JpaRepository e passado como definição ao JpaRepository a entidade ?User? e o tipo da chave</p><p>primaria (id):JpaRepository<User, Long></p><p>Criadaumaclassedeconfiguraçãoqueirárodartodavezqueexecutadooprojetonomodoteste.Elairá nos servir</p><p>para popular alguns dados no banco em tempo de execução (o H2 é um banco de dados em memória,</p><p>portanto quando a aplicação for finalizada seus dados deixarão de existir). Em src/main/java, criado um</p><p>pacote ?config? e dentro dele crie a classe TestConfig que irá implementar a interface</p><p>CommandLineRunner.</p><p>FoiinjetadoumatributodotipoUserRepositoryàestaclasseutilizandoaannotation@Autowired. Implementado o</p><p>método run, adicionando as seguintes linhas:</p><p>? User u1 = new User(null, "Maria Brown","maria@gmail.com","988888888", "123456");</p><p>? User u2 = new User(null, "Alex Green", "alex@gmail.com", "977777777","123456"); userRepository</p><p>.saveAll(Arrays.asList(u1, u 2));</p><p>Emsrc/main/java,criadoumpacote?services?edentrodelecriada ainte rface UserService,</p><p>utilizandonestaclasseaannotation@Service.InjetadoumatributodotipoUserRepositoryàestaclasseutilizando</p><p>aannotation@Autowired.Criadosos seguintesmétodoseimplementadocada umde</p><p>les:findAll,findById,insert, deletee update. Em src/main/java/resources, na classe UserResource,</p><p>injetadoum atributo do tipoUserSe rviceàestaclasseutilizandoaannotation@A</p><p>https://copyspider.com.br/</p><p>https://copyspider.com.br/</p><p>mailto:maria@gmail.com</p><p>mailto:alex@gmail.com</p><p>CopySpider</p><p>https://copyspider.com.br/ Página 46 de57</p><p>Relatório gerado por CopySpider Software 2024-09-19 21:57:08</p><p>utowired.Emseguida,implementadasasseguintesrotas:findAll(GET),findById(GET),insert (POST), delete</p><p>(DELETE), update (PUT).</p><p>Figura 7: Criação das rotas</p><p>? Em src/main/java/service, criado um pacote ?excep tions? e dentro dele criado a classe</p><p>ResourceNotFoundException.EstendidaaclasseRuntimeExceptioneimplementadooconstrutorda classe</p><p>fazendo a chamada para o construtor pai, passando uma mensagem personalizada.</p><p>?Emsrc/main/java/resources,crieumpacote?exceptions?edentrodelecriadasasseguintesclasses:</p><p>StandardError eResourceExceptionHandler.</p><p>?EmStandardErrorcriadososatributosbásicos:timestamp,status,error,message,path.Criadosum construtor</p><p>vazio e um construtor usando todos os atributos (campos). Criados os getters e setters.</p><p>FeitocomquesuaclasseimplementeainterfaceSerializableecriadooatributoserialVersionUID(elevai</p><p>serútilcasosejanecessáriosalvaroobjetoem umarquivoetc.).</p><p>EmResourceExceptionHandler:adicionadaaseguinteanotaçãoàclasse:@ControllerAdvice.Vaiservir pra</p><p>interceptar a exceção lançada quando não for encontrado um usuário.</p><p>CriadoométodoresourceNotFound:eleretornaráumobjetodotipoResponseEntity<StandardError> e que</p><p>recebeu como parâmetro o objeto ResourceNotFoundException.</p><p>Adicionada a anotação abaixo ao método criado.</p><p>@ExceptionHandler(ResourceNotFoundException.class)</p><p>Naimplementaçãodométodo,alémdepassarumamensagemcustomizada,foialteradoocódigodeerro da</p><p>exceção, passando o tipo</p><p>HttpStatus status = Http Status.NOT_FOUND;</p><p>Emsrc/main/java/services,naclasseUserService,modificadososmétodosfindById,deleteeupdate adicionando</p><p>um try/catch que lance a exceção do tipo ResourceNotFoundException.</p><p>Testando a aplicação utilizando o postman.</p><p>Figura 8: Teste de usuários com Postman</p><p>Figura 9: Busca por id com o Postman</p><p>Figura 10: Criação de usuário com a rota POST</p><p>https://copyspider.com.br/</p><p>https://copyspider.com.br/</p><p>CopySpider</p><p>https://copyspider.com.br/ Página 47 de57</p><p>Relatório gerado por CopySpider Software 2024-09-19 21:57:08</p><p>Figura 11: Estrutura</p><p>CONCLUSÃO</p><p>Spring Boot é uma estrutura de desenvolvimento de aplicativos Java que agiliza a infraestrutura</p><p>necessária para a criação de um sistema resiliente e escalável. Ele fornece recursos convenientes de</p><p>configuração automática e uma extensa coleção de bibliotecas, permitindo que os desenvolvedores se</p><p>concentrem na construção de funcionalidades de negócios sem o fardo de configurar a infraestrutura.</p><p>Alémdisso,oSpringBootoferecegrandeflexibilidade,capacitandoosdesenvolvedoresapersonalizare ajustar o</p><p>ambiente de execução de seus aplicativos.</p><p>ParaempresasquebuscamconstruiraplicativosJavadeformarápidaeeficaz,semsacrificara escalabilidade e a</p><p>segurança, o Spring Boot é a escolha ideal. Essa estrutura permite que os desenvolvedores construam</p><p>sistemas complexos sem esforço, resultando em um processo de desenvolvimento e manutenção mais</p><p>simplificado e seguro.</p><p>Com o auxílio do framework Spring, o projeto foi concluído de forma triunfante, resultando no</p><p>estabelecimentodeumsistemadegerenciamentodeusuáriosseguroeeficiente.AintegraçãodaRest API</p><p>facilitou a comunicação perfeita com sistemas externos, permitindo a utilização de dados para diversos</p><p>objetivos. A documentação completa garante que futuros desenvolvedores serão capazes de manter e</p><p>modificar o sistema conforme necessário.</p><p>https://copyspider.com.br/</p><p>https://copyspider.com.br/</p><p>CopySpider</p><p>https://copyspider.com.br/ Página 48 de57</p><p>Relatório gerado por CopySpider Software 2024-09-19 21:57:08</p><p>REFERÊNCIAS BIBLIOGRÁFICAS</p><p>BARANCELLI JUNIOR, Gaspar. Banco de dados H2 com Spring Boot. 2023. Disponível em: https://www</p><p>.gasparbarancelli.com/post/banco-de-dados-h2-com-spring-boot. Acesso em: 19 set. 2024.</p><p>BRITO, Michelli. Spring Boot | Curso Completo 2022. 2022. Disponível em: https://www.youtube.com</p><p>/watch?v=LXRU-Z36GEU&t=38s. Acesso em: 19 set. 2024.</p><p>CLARK, Mariana. Top Frameworks para Java. 2023. Disponível em: https://blog.back4app.com/pt</p><p>/frameworks-java/#O_que_e_um_Framework. Acesso em: 19 set. 2024.</p><p>FADATARE, RAMESH. Spring Boot CRUD Example with H2 Database. JAVA GUIDES. Disponível em:</p><p>https://www.javaguides.net/2020/04/spring-boot-h2-jpa-hibernate-restful-crud-api-tutorial.html.Acessoem:</p><p>19 set. 2024.</p><p>FRANCO,DEBRA.RetrievingRequest'sURIfromWebRequestinSpring.COPYPROGRAMMING,2023.</p><p>Disponível em: https://copyprogramming.com/howto/how-to-get-request-s-uri-from-webrequest-in-spring.</p><p>Acesso em: 19 set. 2024.</p><p>MOREIRA, DHIONSON PLASTER. Criando o Backend de um E-commerce com Java e Spring Boot -</p><p>Parte 1. LINKEDIN, 2023. Disponível em: https://pt.linkedin.com/pulse/criando-o-backend-de-um -e-</p><p>commerce-com-java-e-spring-plaster-moreira?trk=portfolio_article-card_title. Acesso em: 19 set. 2024.</p><p>MOREIRA,DHIONSONPLASTER.ConfigurandooBancodeTesteH2emseuProjetoSpringBoot-Parte</p><p>2. LINKEDIN, 2023. Disponível em: https://pt.linkedin.com/pulse/configurando-o-banco-de-teste-h2-em-</p><p>seu-projeto-boot-plaster-moreira?trk=portfolio_article-card_title. Acesso em: 19 set. 2024.</p><p>MOREIRA,DHIONSONPLASTER.DesenvolvendoumaAPIRESTcomSpringBoot-Parte4:</p><p>Implementação de Serviços e Testes com Postman. LINKEDIN, 2023. Disponível em: https://pt.linkedin</p><p>.com/pulse/desenvolvendo-uma-api-rest-com-spring-boot-parte-4-plaster-moreira?trk=portfolio_article-card</p><p>_title. Acesso em: 19 set. 2024.</p><p>ZANINI, ANTONELLO. Get Started with Custom Error Handling in Spring Boot (Java). AUTH0, 2021.</p><p>Disponívelem:https://auth0.com/blog/get-started-with-custom-error-handling-in-spring-boot-java/.Acesso</p><p>em: 19 set. 2024.</p><p>https://copyspider.com.br/</p><p>https://copyspider.com.br/</p><p>http://www.youtube.com/</p><p>http://www.javaguides.net/2020/04/spring-boot-h2-jpa-hibernate-restful-crud-api-tutorial.html</p><p>CopySpider</p><p>https://copyspider.com.br/ Página 49 de57</p><p>Relatório gerado por CopySpider Software 2024-09-19 21:57:08</p><p>=================================================================================</p><p>Arquivo 1: ATIVIDADE PRATICA - JOAO PAULO - PROGRAMAÇÃO.docx (1571 termos)</p><p>Arquivo 2: https://community.auth0.com/t/get-started-with-custom-error-handling-in-spring-boot-java/70322</p><p>(1 termos)</p><p>Termos comuns: 0</p><p>Similaridade: 0,00%</p><p>OtextoabaixoéoconteúdododocumentoATIVIDADEPRATICA-JOAOPAULO- PROGRAMAÇÃO.docx</p><p>(1571 termos)</p><p>Ostermosemvermelhoforamencontradosnodocumentohttps://community.auth0.com/t/get-started-with-</p><p>custom-error-handling-in-spring-boot-java/70322 (1 termos)</p><p>=================================================================================</p><p>15</p><p>FACULDADE ANHANGUERA</p><p>SistemadeEnsino100%ON LINE</p><p>curso</p><p>JOÃO PAULO FERREIRA DA CRUZ NUNES MACHADO</p><p>ATIVIDADE PRÁTICA</p><p>PROGRAMAÇÃOWEB</p><p>https://copyspider.com.br/</p><p>https://copyspider.com.br/</p><p>https://community.auth0.com/t/get-started-with-custom-error-handling-in-spring-boot-java/70322</p><p>https://community.auth0.com/t/get-started-with-custom-error-handling-in-spring-boot-java/70322</p><p>https://community.auth0.com/t/get-started-with-custom-error-handling-in-spring-boot-java/70322</p><p>https://community.auth0.com/t/get-started-with-custom-error-handling-in-spring-boot-java/70322</p><p>https://community.auth0.com/t/get-started-with-custom-error-handling-in-spring-boot-java/70322</p><p>CopySpider</p><p>https://copyspider.com.br/ Página 50 de57</p><p>Relatório gerado por CopySpider Software 2024-09-19 21:57:08</p><p>TAUBATE/SP</p><p>2024</p><p>JOINVILLE/SC</p><p>202</p><p>4</p><p>JOÃO PAULO FERREIRA DA CRUZ NUNES MACHADO</p><p>ATIVIDADE PRÁTICA</p><p>PROGRAMAÇÃOWEB</p><p>https://copyspider.com.br/</p><p>https://copyspider.com.br/</p><p>CopySpider</p><p>https://copyspider.com.br/ Página 51 de57</p><p>Relatório gerado por CopySpider Software 2024-09-19 21:57:08</p><p>RelatóriodeAtividadePrática</p><p>apresentado a Universidade</p><p>Anhanguera</p><p>comorequisitoparaobtençãodemédiapara a</p><p>disciplina de</p><p>Programação Web</p><p>.</p><p>TAUBATE/SP</p><p>202</p><p>4</p><p>SUMÁRIO</p><p>INTRODUÇÃO</p><p>https://copyspider.com.br/</p><p>https://copyspider.com.br/</p><p>CopySpider</p><p>https://copyspider.com.br/ Página 52 de57</p><p>Relatório gerado por CopySpider Software 2024-09-19 21:57:08</p><p>Spring Boot é um framework de plataforma que promove velocidade e simplifica o processo de</p><p>desenvolvimento de aplicações Java. O objetivo era permitir que desenvolvedores de todos os níveis de</p><p>habilidade criassem aplicativos sem precisar configurar manualmente o ambiente de desenvolvimento.</p><p>ComSpringBoot,vocêpodeiniciarumprojetousandoumaconfiguraçãopadrãoquejáincluimuitasdas bibliotecas</p><p>e dependências necessárias para criar aplicativos web. Além disso, fornece um framework poderoso para</p><p>configuração automática de aplicações, este framework é baseado nas variáveis</p><p>??ambientais presentes.</p><p>OutroaspectobenéficodoSpringBootéqueelesuportaumavariedadedebancosdedadosebibliotecas de</p><p>terceiros, o que permite aos desenvolvedores criar aplicativos mais eficazes e versáteis. Com sua</p><p>arquitetura modular bem estruturada, o Spring Boot também é simples de aumentar e personalizar, o que</p><p>o torna uma opção atraente para uma variedade de desenvolvedores Java.</p><p>OobjetivodestaempreitadafoicriarumsistemaparagerenciamentodeusuáriosviaAPIsRestutilizando o</p><p>framework Spring.</p><p>NesterelatóriopráticofoiimplementadoumprojetoBackendemRestAPIutilizandoalinguagemde programação</p><p>Java e o framework Spring na IDE Eclipse. O empreendimento possui objetivos que correspondem a um</p><p>CRUD, retornando usuários que foram criados no banco de dados.</p><p>Um projeto base com a arquitetura Spring foi construído com a opção de Maven, Java 17 e Spring 3.0.6,</p><p>todos associados ao framework Spring. Além de um complemento Spring Tools instalado pelo mercado</p><p>Eclipsequeimplementatratamentodeerrospararesolverpossíveisproblemasduranteousodosistema.</p><p>DESENVOLVIMENTO</p><p>UmdosusosmaiscomunsdeJavaécriaraplicativosbaseadosnaWebeAPIsREST,umdos frameworks mais</p><p>eficazes para isso é o Spring-boot.</p><p>Spring-boot se surpreende com a facilidade de criar um aplicativo web em minutos e com o mínimo de</p><p>código. A maneira mais simples de criar uma aplicação com Spring-Boot é através do Spring Initializr.</p><p>Nesta empreitada foi iniciado um projeto utilizando o framework Spring para gerenciar os usuários de um</p><p>sistema, este projeto era baseado em uma API Rest e exigia que os endpoints necessários estivessem</p><p>acessíveispararealizaraçõesdegerenciamentodeusuários(CRUD).AempreitadafoibaseadaemMVC e exigiu</p><p>a criação do modelo lógico para a criação do banco de dados, bem como a conexão a ele.</p><p>Juntamentecomalógicafundamental,eranecessárioumsistemaseparadoparalidarcomexceções.</p><p>RESULTADOS</p><p>O primeiro passo foi obter o software listado abaixo:</p><p>? Eclipse com Spring Tool: é um IDE baseado em Eclipse que utiliza Spring Boot, um IDE pré-existente</p><p>quepossuipluginsSpringquefacilitamodesenvolvimentocomoecossistemaspring.OsoftwareEclipse</p><p>https://copyspider.com.br/</p><p>https://copyspider.com.br/</p><p>CopySpider</p><p>https://copyspider.com.br/ Página 53 de57</p><p>Relatório gerado por CopySpider Software 2024-09-19 21:57:08</p><p>servirá como importador de texto.</p><p>Figura 1: Spring Tools 4 for Eclipse</p><p>?Postman:éumaplicativoqueutilizaaAPIparatestes.ÉumclienteHTTPquetestasolicitaçõesHTTP através de</p><p>uma interface gráfica, fornecendo diferentes respostas que precisam ser aprovadas posteriormente.</p><p>Figura 2: Postman</p><p>OprojetobasefoiconstruídocomaestruturaSpringapartirdoseguintelink:https://start.spring.io/,foram</p><p>empregadas as seguintes opções: Maven, Java versão 17, Spring versão 3.0.0, empacotamento JAR,</p><p>Adicionar requisitos: SpringWeb . Selecionado "gerar". Descompacte o arquivo que foi transferido para a</p><p>área do projeto.</p><p>Aberto o Spring Tool Suite e acessa do o projeto base através do caminho: ?File > Import> Maven</p><p>>ExistingMavenprojects?:selecionadaapastarecémcriada.Selecionadooarquivopom.xmlclicado em</p><p>?Finish?.</p><p>? Foi criada a classe User dentro do pacote entities em src/main/java.</p><p>? Foram criados os atributos básicos: id, nome, e-mail, telefone, password.</p><p>?Foicriadoumconstrutorvazioeumconstrutorusandotodososatributos(campos).Criadososgetterse setters.</p><p>?GeradaaimplementaçãoparaométodohashCode()eequals()(botãodireito>sourcegenerate hashCode...).</p><p>?Adicionadaaestaclasseasannotations@Entitye@Table(name="tb_user") Figura 3:</p><p>Criação da classe User</p><p>Em src/main/java, crido umpacote ?resource? edentro dele crida a classe UserResource (esta classe ira</p><p>ser o nosso controller). Adicionada as annotations @RestController e @RequestMapping(value="/users").</p><p>O banco de dados foi o H2 que é um banco de dados relacional que pode ser executado no modo cliente-</p><p>servidor. Iremos utilizar JPA para persistir os dados. Vamos então configurar nosso projeto para incluir a</p><p>dependênciadestesdoisrecursos.Paraistofoiadicionadoasseguintesdependênciasnoarquivopom.xml</p><p>conforme a figura a seguir:</p><p>Figura 4: Adição de dependências no arquivo pom.xml</p><p>https://copyspider.com.br/</p><p>https://copyspider.com.br/</p><p>CopySpider</p><p>https://copyspider.com.br/ Página 54 de57</p><p>Relatório gerado por CopySpider Software 2024-09-19 21:57:08</p><p>Em src/m ain/resources, criado o arquivo application.properties (ele nos servirá para armazenar</p><p>propriedadesdeescopodoaplicativo).Adicionadasasseguinteslinhas:spring.profiles.active=teste</p><p>spring.jpa.open-in-view=true</p><p>Figura 5: Criado o arquivo application properties</p><p>Em src/main/resources, criado o arquivo application-test.properties (ele nos servirá para armazenar</p><p>propriedadesdeescopodoaplicativoparaarealizaçãodostesteslocais).Adicionadasasseguintes linhas:</p><p>Figura 6: Criado o arquivo application-test-properties</p><p>Emsrc/main/java,criadoumpacote?repositories?edentrodelecriadoainterfaceUserRepository.Estend ida a</p><p>classe JpaRepository e passado como definição ao JpaRepository a entidade ?User? e o tipo da chave</p><p>primaria (id):JpaRepository<User, Long></p><p>Criadaumaclassedeconfiguraçãoqueirárodartodavezqueexecutadooprojetonomodoteste.Elairá nos servir</p><p>para popular alguns dados no banco em tempo de execução (o H2 é um banco de dados em memória,</p><p>portanto quando a aplicação for finalizada seus dados deixarão de existir). Em src/main/java, criado um</p><p>pacote ?config? e dentro dele crie a classe TestConfig que irá implementar a interface</p><p>CommandLineRunner.</p><p>FoiinjetadoumatributodotipoUserRepositoryàestaclasseutilizandoaannotation@Autowired. Implementado o</p><p>método run, adicionando as seguintes linhas:</p><p>? User u1 = new User(null, "Maria Brown","maria@gmail.com","988888888", "123456");</p><p>? User u2 = new User(null, "Alex Green", "alex@gmail.com", "977777777","123456"); userRepository</p><p>.saveAll(Arrays.asList(u1, u 2));</p><p>Emsrc/main/java,criadoumpacote?services?edentrodelecriada ainte rface UserService,</p><p>utilizandonestaclasseaannotation@Service.InjetadoumatributodotipoUserRepositoryàestaclasseutilizando</p><p>aannotation@Autowired.Criadosos seguintesmétodoseimplementadocada umde</p><p>les:findAll,findById,insert, deletee update. Em src/main/java/resources, na classe UserResource,</p><p>injetadoum atributo do tipoUserSe rviceàestaclasseutilizandoaannotation@A utowired.Emse guida,</p><p>implementadasasseguintesrotas:findAll(GET),find ById(GET),insert (POST), delete (DELETE), update</p><p>(PUT).</p><p>Figura 7: Criação das rotas</p><p>? Em src/main/java/service, criado um pacote ?excep tions? e dentro dele criado a classe</p><p>ResourceNotFoundException.EstendidaaclasseRuntimeExceptioneimplementadooconstrutorda classe</p><p>fazendo a chamada para o construtor pai, passando uma mensagem personalizada.</p><p>?Emsrc/main/java/resources,crieumpacote?exceptions?edentrodelecriadasasseguintesclasses:</p><p>StandardError eResourceExceptionHandler.</p><p>? Em StandardError criados os atributos básicos:tim estamp, status, error, message, path. Criados um</p><p>https://copyspider.com.br/</p><p>https://copyspider.com.br/</p><p>mailto:maria@gmail.com</p><p>mailto:alex@gmail.com</p><p>CopySpider</p><p>https://copyspider.com.br/ Página 55 de57</p><p>Relatório gerado por CopySpider Software 2024-09-19 21:57:08</p><p>construtor vazio e um construtor usando todos os atributos (campos). Criados os getters e setters.</p><p>FeitocomquesuaclasseimplementeainterfaceSerializableecriadooatributoserialVersionUID(elevai</p><p>serútilcasosejanecessáriosalvaroobjetoem umarquivoetc.).</p><p>EmResourceExceptionHandler:adicionadaaseguinteanotaçãoàclasse:@ControllerAdvice.Vaiservir pra</p><p>interceptar a exceção lançada quando não for encontrado um usuário.</p><p>CriadoométodoresourceNotFound:eleretornaráumobjetodotipoResponseEntity<StandardError> e que</p><p>recebeu como parâmetro o objeto ResourceNotFoundException.</p><p>Adicionada a anotação abaixo ao método criado.</p><p>@ExceptionHandler(ResourceNotFoundException.class)</p><p>Naimplementaçãodométodo,alémdepassarumamensagemcustomizada,foialteradoocódigodeerro da</p><p>exceção, passando o tipo</p><p>HttpStatus status = Http Status.NOT_FOUND;</p><p>Emsrc/main/java/services,naclasseUserService,modificadososmétodosfindById,deleteeupdate adicionando</p><p>um try/catch que lance a exceção do tipo ResourceNotFoundException.</p><p>Testando a aplicação utilizando o postman.</p><p>Figura 8: Teste de usuários com Postman</p><p>Figura 9: Busca por id com o Postman</p><p>Figura 10: Criação de usuário com a rota POST</p><p>https://copyspider.com.br/</p><p>https://copyspider.com.br/</p><p>CopySpider</p><p>https://copyspider.com.br/ Página 56 de57</p><p>Relatório gerado por CopySpider Software 2024-09-19 21:57:08</p><p>Figura 11: Estrutura</p><p>CONCLUSÃO</p><p>Spring Boot é uma estrutura de desenvolvimento de aplicativos Java que agiliza a infraestrutura</p><p>necessária para a criação de um sistema resiliente e escalável. Ele fornece recursos convenientes de</p><p>configuração automática e uma extensa coleção de bibliotecas, permitindo que os desenvolvedores se</p><p>concentrem na construção de funcionalidades de negócios sem o fardo de configurar a infraestrutura.</p><p>Alémdisso,oSpringBootoferecegrandeflexibilidade,capacitandoosdesenvolvedoresapersonalizare ajustar o</p><p>ambiente de execução de seus aplicativos.</p><p>ParaempresasquebuscamconstruiraplicativosJavadeformarápidaeeficaz,semsacrificara escalabilidade e a</p><p>segurança, o Spring Boot é a escolha ideal. Essa estrutura permite que os desenvolvedores construam</p><p>sistemas complexos sem esforço, resultando em um processo de desenvolvimento e manutenção mais</p><p>simplificado e seguro.</p><p>Com o auxílio do framework Spring, o projeto foi concluído de forma triunfante, resultando no</p><p>estabelecimentodeumsistemadegerenciamentodeusuáriosseguroeeficiente.AintegraçãodaRest API</p><p>facilitou a comunicação perfeita com sistemas externos, permitindo a utilização de dados para diversos</p><p>objetivos. A documentação completa garante que futuros desenvolvedores serão capazes de manter e</p><p>modificar o sistema conforme necessário.</p><p>REFERÊNCIAS BIBLIOGRÁFICAS</p><p>BARANCELLI JUNIOR, Gaspar. Banco de dados H2 com Spring Boot. 2023. Disponível em: https://www</p><p>.gasparbarancelli.com/post/banco-de-dados-h2-com-spring-boot. Acesso em: 19 set. 2024.</p><p>BRITO, Michelli. Spring Boot | Curso Completo 2022. 2022. Disponível em: https://www.youtube.com</p><p>https://copyspider.com.br/</p><p>https://copyspider.com.br/</p><p>http://www.youtube.com/</p><p>CopySpider</p><p>https://copyspider.com.br/ Página 57 de57</p><p>Relatório gerado por CopySpider Software 2024-09-19 21:57:08</p><p>/watch?v=LXRU-Z36GEU&t=38s. Acesso em: 19 set. 2024.</p><p>CLARK, Mariana. Top Frameworks para Java. 2023. Disponível em: https://blog.back4app.com/pt</p><p>/frameworks-java/#O_que_e_um_Framework. Acesso em: 19 set. 2024.</p><p>FADATARE, RAMESH. Spring Boot CRUD Example with H2 Database. JAVA GUIDES. Disponível em:</p><p>https://www.javaguides.net/2020/04/spring-boot-h2-jpa-hibernate-restful-crud-api-tutorial.html.Acessoem:</p><p>19 set. 2024.</p><p>FRANCO,DEBRA.RetrievingRequest'sURIfromWebRequestinSpring.COPYPROGRAMMING,2023.</p><p>Disponível em: https://copyprogramming.com/howto/how-to-get-request-s-uri-from-webrequest-in-spring.</p><p>Acesso em: 19 set. 2024.</p><p>MOREIRA, DHIONSON PLASTER. Criando o Backend de um E-commerce com Java e Spring Boot -</p><p>Parte 1. LINKEDIN, 2023. Disponível em: https://pt.linkedin.com/pulse/criando-o-backend-de-um</p><p>-e-</p><p>commerce-com-java-e-spring-plaster-moreira?trk=portfolio_article-card_title. Acesso em: 19 set. 2024.</p><p>MOREIRA,DHIONSONPLASTER.ConfigurandooBancodeTesteH2emseuProjetoSpringBoot-Parte</p><p>2. LINKEDIN, 2023. Disponível em: https://pt.linkedin.com/pulse/configurando-o-banco-de-teste-h2-em-</p><p>seu-projeto-boot-plaster-moreira?trk=portfolio_article-card_title. Acesso em: 19 set. 2024.</p><p>MOREIRA,DHIONSONPLASTER.DesenvolvendoumaAPIRESTcomSpringBoot-Parte4:</p><p>Implementação de Serviços e Testes com Postman. LINKEDIN, 2023. Disponível em: https://pt.linkedin</p><p>.com/pulse/desenvolvendo-uma-api-rest-com-spring-boot-parte-4-plaster-moreira?trk=portfolio_article-card</p><p>_title. Acesso em: 19 set. 2024.</p><p>ZANINI, ANTONELLO. Get Started with Custom Error Handling in Spring Boot (Java). AUTH0, 2021.</p><p>Disponívelem:https://auth0.com/blog/get-started-with-custom-error-handling-in-spring-boot-java/.Acesso</p><p>em: 19 set. 2024.</p><p>https://copyspider.com.br/</p><p>https://copyspider.com.br/</p><p>http://www.javaguides.net/2020/04/spring-boot-h2-jpa-hibernate-restful-crud-api-tutorial.html</p><p>Relatório do Software Anti-plágio CopySpider</p><p>Instruções</p><p>Termos comuns: 22</p><p>Termos comuns: 39</p><p>Termos comuns: 11</p><p>Termos comuns: 5</p><p>Os termos em vermelho foram encontrados no documento</p><p>Termos comuns: 0</p><p>Termos comuns: 0 (1)</p><p>precisar configurar manualmente o ambiente de desenvolvimento.</p><p>ComSpringBoot,vocêpodeiniciarumprojetousandoumaconfiguraçãopadrãoquejáincluimuitasdas bibliotecas</p><p>e dependências necessárias para criar aplicativos web. Além disso, fornece um framework poderoso para</p><p>configuração automática de aplicações, este framework é baseado nas variáveis</p><p>??ambientais presentes.</p><p>OutroaspectobenéficodoSpringBootéqueelesuportaumavariedadedebancosdedadosebibliotecas de</p><p>terceiros, o que permite aos desenvolvedores criar aplicativos mais eficazes e versáteis. Com sua</p><p>arquitetura modular bem estruturada, o Spring Boot também é simples de aumentar e personalizar, o que</p><p>o torna uma opção atraente para uma variedade de desenvolvedores Java.</p><p>OobjetivodestaempreitadafoicriarumsistemaparagerenciamentodeusuáriosviaAPIsRestutilizando o</p><p>framework Spring.</p><p>NesterelatóriopráticofoiimplementadoumprojetoBackendemRestAPIutilizandoalinguagemde programação</p><p>Java e o framework Spring na IDE Eclipse. O empreendimento possui objetivos que correspondem a um</p><p>CRUD, retornando usuários que foram criados no banco de dados.</p><p>Um projeto base com a arquitetura Spring foi construído com a opção de Maven, Java 17 e Spring 3.0.6,</p><p>todos associados ao framework Spring. Além de um complemento Spring Tools instalado pelo mercado</p><p>Eclipsequeimplementatratamentodeerrospararesolverpossíveisproblemasduranteousodosistema.</p><p>DESENVOLVIMENTO</p><p>UmdosusosmaiscomunsdeJavaécriaraplicativosbaseadosnaWebeAPIsREST,umdos frameworks mais</p><p>eficazes para isso é o Spring-boot.</p><p>Spring-boot se surpreende com a facilidade de criar um aplicativo web em minutos e com o mínimo de</p><p>código. A maneira mais simples de criar uma aplicação com Spring-Boot é através do Spring Initializr.</p><p>Nesta empreitada foi iniciado um projeto utilizando o framework Spring para gerenciar os usuários de um</p><p>sistema, este projeto era baseado em uma API Rest e exigia que os endpoints necessários estivessem</p><p>acessíveispararealizaraçõesdegerenciamentodeusuários(CRUD).AempreitadafoibaseadaemMVC e exigiu</p><p>a criação do modelo lógico para a criação do banco de dados, bem como a conexão a ele.</p><p>Juntamentecomalógicafundamental,eranecessárioumsistemaseparadoparalidarcomexceções.</p><p>RESULTADOS</p><p>O primeiro passo foi obter o software listado abaixo:</p><p>? Eclipse com Spring Tool: é um IDE baseado em Eclipse que utiliza Spring Boot, um IDE pré-existente</p><p>quepossuipluginsSpringquefacilitamodesenvolvimentocomoecossistemaspring.OsoftwareEclipse</p><p>https://copyspider.com.br/</p><p>https://copyspider.com.br/</p><p>CopySpider</p><p>https://copyspider.com.br/ Página 8 de57</p><p>Relatório gerado por CopySpider Software 2024-09-19 21:57:06</p><p>servirá como importador de texto.</p><p>Figura 1: Spring Tools 4 for Eclipse</p><p>?Postman:éumaplicativoqueutilizaaAPIparatestes.ÉumclienteHTTPquetestasolicitaçõesHTTP através de</p><p>uma interface gráfica, fornecendo diferentes respostas que precisam ser aprovadas posteriormente.</p><p>Figura 2: Postman</p><p>OprojetobasefoiconstruídocomaestruturaSpringapartirdoseguintelink:https://start.spring.io/,foram</p><p>empregadas as seguintes opções: Maven, Java versão 17, Spring versão 3.0.0, empacotamento JAR,</p><p>Adicionar requisitos: SpringWeb . Selecionado "gerar". Descompacte o arquivo que foi transferido para a</p><p>área do projeto.</p><p>Aberto o Spring Tool Suite e acessa do o projeto base através do caminho: ?File > Import> Maven</p><p>>ExistingMavenprojects?:selecionadaapastarecémcriada.Selecionadooarquivopom.xmlclicado em</p><p>?Finish?.</p><p>? Foi criada a classe User dentro do pacote entities em src/main/java.</p><p>? Foram criados os atributos básicos: id, nome, e-mail, telefone, password.</p><p>?Foicriadoumconstrutorvazioeumconstrutorusandotodososatributos(campos).Criadososgetterse setters.</p><p>?GeradaaimplementaçãoparaométodohashCode()eequals()(botãodireito>sourcegenerate hashCode...).</p><p>?Adicionadaaestaclasseasannotations@Entitye@Table(name="tb_user") Figura 3:</p><p>Criação da classe User</p><p>Em src/main/java, crido umpacote ?resource? edentro dele crida a classe UserResource (esta classe ira</p><p>ser o nosso controller). Adicionada as annotations @RestController e @RequestMapping(value="/users").</p><p>O banco de dados foi o H2 que é um banco de dados relacional que pode ser executado no modo cliente-</p><p>servidor. Iremos utilizar JPA para persistir os dados. Vamos então configurar nosso projeto para incluir a</p><p>dependênciadestesdoisrecursos.Paraistofoiadicionadoasseguintesdependênciasnoarquivopom.xml</p><p>conforme a figura a seguir:</p><p>Figura 4: Adição de dependências no arquivo pom.xml</p><p>https://copyspider.com.br/</p><p>https://copyspider.com.br/</p><p>CopySpider</p><p>https://copyspider.com.br/ Página 9 de57</p><p>Relatório gerado por CopySpider Software 2024-09-19 21:57:06</p><p>Em src/m ain/resources, criado o arquivo application.properties (ele nos servirá para armazenar</p><p>propriedadesdeescopodoaplicativo).Adicionadasasseguinteslinhas:spring.profiles.active=teste</p><p>spring.jpa.open-in-view=true</p><p>Figura 5: Criado o arquivo application properties</p><p>Em src/main/resources, criado o arquivo application-test.properties (ele nos servirá para armazenar</p><p>propriedadesdeescopodoaplicativoparaarealizaçãodostesteslocais).Adicionadasasseguintes linhas:</p><p>Figura 6: Criado o arquivo application-test-properties</p><p>Emsrc/main/java,criadoumpacote?repositories?edentrodelecriadoainterfaceUserRepository.Estend ida a</p><p>classe JpaRepository e passado como definição ao JpaRepository a entidade ?User? e o tipo da chave</p><p>primaria (id):JpaRepository<User, Long></p><p>Criadaumaclassedeconfiguraçãoqueirárodartodavezqueexecutadooprojetonomodoteste.Elairá nos servir</p><p>para popular alguns dados no banco em tempo de execução (o H2 é um banco de dados em memória,</p><p>portanto quando a aplicação for finalizada seus dados deixarão de existir). Em src/main/java, criado um</p><p>pacote ?config? e dentro dele crie a classe TestConfig que irá implementar a interface</p><p>CommandLineRunner.</p><p>FoiinjetadoumatributodotipoUserRepositoryàestaclasseutilizandoaannotation@Autowired. Implementado o</p><p>método run, adicionando as seguintes linhas:</p><p>? User u1 = new User(null, "Maria Brown","maria@gmail.com","988888888", "123456");</p><p>? User u2 = new User(null, "Alex Green", "alex@gmail.com", "977777777","123456"); userRepository</p><p>.saveAll(Arrays.asList(u1, u 2));</p><p>Emsrc/main/java,criadoumpacote?services?edentrodelecriada ainte rface UserService,</p><p>utilizandonestaclasseaannotation@Service.InjetadoumatributodotipoUserRepositoryàestaclasseutilizando</p><p>aannotation@Autowired.Criadosos seguintesmétodoseimplementadocada umde</p><p>les:findAll,findById,insert, deletee update. Em src/main/java/resources, na classe UserResource,</p><p>injetadoum atributo do tipoUserSe rviceàestaclasseutilizandoaannotation@A utowired.Emse guida,</p><p>implementadasasseguintesrotas:findAll(GET),find ById(GET),insert (POST), delete (DELETE), update</p><p>(PUT).</p><p>Figura 7: Criação das rotas</p><p>? Em src/main/java/service, criado um pacote ?excep tions? e dentro dele criado a classe</p><p>ResourceNotFoundException.EstendidaaclasseRuntimeExceptioneimplementadooconstrutorda classe</p><p>fazendo a chamada para o construtor pai, passando uma mensagem personalizada.</p><p>?Emsrc/main/java/resources,crieumpacote?exceptions?edentrodelecriadasasseguintesclasses:</p><p>StandardError eResourceExceptionHandler.</p><p>? Em StandardError criados os atributos básicos:tim estamp, status, error, message, path. Criados um</p><p>https://copyspider.com.br/</p><p>https://copyspider.com.br/</p><p>mailto:maria@gmail.com</p><p>mailto:alex@gmail.com</p><p>CopySpider</p><p>https://copyspider.com.br/ Página 10 de57</p><p>Relatório gerado por CopySpider Software 2024-09-19 21:57:06</p><p>construtor vazio e um construtor usando todos os atributos (campos). Criados os getters e setters.</p><p>FeitocomquesuaclasseimplementeainterfaceSerializableecriadooatributoserialVersionUID(elevai</p><p>serútilcasosejanecessáriosalvaroobjetoem umarquivoetc.).</p><p>EmResourceExceptionHandler:adicionadaaseguinteanotaçãoàclasse:@ControllerAdvice.Vaiservir</p><p>pra</p><p>interceptar a exceção lançada quando não for encontrado um usuário.</p><p>CriadoométodoresourceNotFound:eleretornaráumobjetodotipoResponseEntity<StandardError> e que</p><p>recebeu como parâmetro o objeto ResourceNotFoundException.</p><p>Adicionada a anotação abaixo ao método criado.</p><p>@ExceptionHandler(ResourceNotFoundException.class)</p><p>Naimplementaçãodométodo,alémdepassarumamensagemcustomizada,foialteradoocódigodeerro da</p><p>exceção, passando o tipo</p><p>HttpStatus status = Http Status.NOT_FOUND;</p><p>Emsrc/main/java/services,naclasseUserService,modificadososmétodosfindById,deleteeupdate adicionando</p><p>um try/catch que lance a exceção do tipo ResourceNotFoundException.</p><p>Testando a aplicação utilizando o postman.</p><p>Figura 8: Teste de usuários com Postman</p><p>Figura 9: Busca por id com o Postman</p><p>Figura 10: Criação de usuário com a rota POST</p><p>https://copyspider.com.br/</p><p>https://copyspider.com.br/</p><p>CopySpider</p><p>https://copyspider.com.br/ Página 11 de57</p><p>Relatório gerado por CopySpider Software 2024-09-19 21:57:06</p><p>Figura 11: Estrutura</p><p>CONCLUSÃO</p><p>Spring Boot é uma estrutura de desenvolvimento de aplicativos Java que agiliza a infraestrutura</p><p>necessária para a criação de um sistema resiliente e escalável. Ele fornece recursos convenientes de</p><p>configuração automática e uma extensa coleção de bibliotecas, permitindo que os desenvolvedores se</p><p>concentrem na construção de funcionalidades de negócios sem o fardo de configurar a infraestrutura.</p><p>Alémdisso,oSpringBootoferecegrandeflexibilidade,capacitandoosdesenvolvedoresapersonalizare ajustar o</p><p>ambiente de execução de seus aplicativos.</p><p>ParaempresasquebuscamconstruiraplicativosJavadeformarápidaeeficaz,semsacrificara escalabilidade e a</p><p>segurança, o Spring Boot é a escolha ideal. Essa estrutura permite que os desenvolvedores construam</p><p>sistemas complexos sem esforço, resultando em um processo de desenvolvimento e manutenção mais</p><p>simplificado e seguro.</p><p>Com o auxílio do framework Spring, o projeto foi concluído de forma triunfante, resultando no</p><p>estabelecimentodeumsistemadegerenciamentodeusuáriosseguroeeficiente.AintegraçãodaRest API</p><p>facilitou a comunicação perfeita com sistemas externos, permitindo a utilização de dados para diversos</p><p>objetivos. A documentação completa garante que futuros desenvolvedores serão capazes de manter e</p><p>modificar o sistema conforme necessário.</p><p>REFERÊNCIAS BIBLIOGRÁFICAS</p><p>BARANCELLI JUNIOR, Gaspar. Banco de dados H2 com Spring Boot. 2023. Disponível em: https://www</p><p>.gasparbarancelli.com/post/banco-de-dados-h2-com-spring-boot. Acesso em: 19 set. 2024.</p><p>BRITO, Michelli. Spring Boot | Curso Completo 2022. 2022. Disponível em: https://www.youtube.com</p><p>https://copyspider.com.br/</p><p>https://copyspider.com.br/</p><p>http://www.youtube.com/</p><p>CopySpider</p><p>https://copyspider.com.br/ Página 12 de57</p><p>Relatório gerado por CopySpider Software 2024-09-19 21:57:06</p><p>/watch?v=LXRU-Z36GEU&t=38s. Acesso em: 19 set. 2024.</p><p>CLARK, Mariana. Top Frameworks para Java. 2023. Disponível em: https://blog.back4app.com/pt</p><p>/frameworks-java/#O_que_e_um_Framework. Acesso em: 19 set. 2024.</p><p>FADATARE, RAMESH. Spring Boot CRUD Example with H2 Database. JAVA GUIDES. Disponível em:</p><p>https://www.javaguides.net/2020/04/spring-boot-h2-jpa-hibernate-restful-crud-api-tutorial.html.Acessoem:</p><p>19 set. 2024.</p><p>FRANCO,DEBRA.RetrievingRequest'sURIfromWebRequestinSpring.COPYPROGRAMMING,2023.</p><p>Disponível em: https://copyprogramming.com/howto/how-to-get-request-s-uri-from-webrequest-in-spring.</p><p>Acesso em: 19 set. 2024.</p><p>MOREIRA, DHIONSON PLASTER. Criando o Backend de um E-commerce com Java e Spring Boot -</p><p>Parte 1. LINKEDIN, 2023. Disponível em: https://pt.linkedin.com/pulse/criando-o-backend-de-um -e-</p><p>commerce-com-java-e-spring-plaster-moreira?trk=portfolio_article-card_title. Acesso em: 19 set. 2024.</p><p>MOREIRA,DHIONSONPLASTER.ConfigurandooBancodeTesteH2emseuProjetoSpringBoot-Parte</p><p>2. LINKEDIN, 2023. Disponível em: https://pt.linkedin.com/pulse/configurando-o-banco-de-teste-h2-em-</p><p>seu-projeto-boot-plaster-moreira?trk=portfolio_article-card_title. Acesso em: 19 set. 2024.</p><p>MOREIRA,DHIONSONPLASTER.DesenvolvendoumaAPIRESTcomSpringBoot-Parte4:</p><p>Implementaçãode Serviços e Testes com Postman. LINKEDIN, 2023. Disponível em: https://pt.linkedin</p><p>.com/pulse/desenvolvendo-uma-api-rest-com-spring-boot-parte-4-plaster-moreira?trk=portfolio_article-card</p><p>_title. Acesso em: 19 set. 2024.</p><p>ZANINI, ANTONELLO. Get Started with Custom Error Handling in Spring Boot (Java). AUTH0, 2021.</p><p>Disponívelem:https://auth0.com/blog/get-started-with-custom-error-handling-in-spring-boot-java/.Acesso</p><p>em: 19 set. 2024.</p><p>https://copyspider.com.br/</p><p>https://copyspider.com.br/</p><p>http://www.javaguides.net/2020/04/spring-boot-h2-jpa-hibernate-restful-crud-api-tutorial.html</p><p>CopySpider</p><p>https://copyspider.com.br/ Página 13 de57</p><p>Relatório gerado por CopySpider Software 2024-09-19 21:57:06</p><p>=================================================================================</p><p>Arquivo 1: ATIVIDADE PRATICA - JOAO PAULO - PROGRAMAÇÃO.docx (1571 termos)</p><p>Arquivo 2: https://medium.com/@felipemazzi/primeiros-passos-para-criar-uma-api-rest-em-java-com-</p><p>spring-boot-cfa4865306e9 (2294 termos)</p><p>Termos comuns: 39</p><p>Similaridade: 1,01%</p><p>OtextoabaixoéoconteúdododocumentoATIVIDADEPRATICA-JOAOPAULO- PROGRAMAÇÃO.docx</p><p>(1571 termos)</p><p>Os termos em vermelho foram encontrados no documento</p><p>https://medium.com/@felipemazzi/primeiros-passos-para-criar-uma-api-rest-em-java-com-spring-boot-</p><p>cfa4865306e9 (2294 termos)</p><p>=================================================================================</p><p>15</p><p>FACULDADE ANHANGUERA</p><p>SistemadeEnsino100%ON LINE</p><p>curso</p><p>JOÃO PAULO FERREIRA DA CRUZ NUNES MACHADO</p><p>ATIVIDADE PRÁTICA</p><p>PROGRAMAÇÃOWEB</p><p>https://copyspider.com.br/</p><p>https://copyspider.com.br/</p><p>https://medium.com/%40felipemazzi/primeiros-passos-para-criar-uma-api-rest-em-java-com-spring-boot-cfa4865306e9</p><p>https://medium.com/%40felipemazzi/primeiros-passos-para-criar-uma-api-rest-em-java-com-spring-boot-cfa4865306e9</p><p>https://medium.com/%40felipemazzi/primeiros-passos-para-criar-uma-api-rest-em-java-com-spring-boot-cfa4865306e9</p><p>https://medium.com/%40felipemazzi/primeiros-passos-para-criar-uma-api-rest-em-java-com-spring-boot-cfa4865306e9</p><p>https://medium.com/%40felipemazzi/primeiros-passos-para-criar-uma-api-rest-em-java-com-spring-boot-cfa4865306e9</p><p>CopySpider</p><p>https://copyspider.com.br/ Página 14 de57</p><p>Relatório gerado por CopySpider Software 2024-09-19 21:57:06</p><p>TAUBATE/SP</p><p>2024</p><p>JOINVILLE/SC</p><p>202</p><p>4</p><p>JOÃO PAULO FERREIRA DA CRUZ NUNES MACHADO</p><p>ATIVIDADE PRÁTICA</p><p>PROGRAMAÇÃOWEB</p><p>https://copyspider.com.br/</p><p>https://copyspider.com.br/</p><p>CopySpider</p><p>https://copyspider.com.br/ Página 15 de57</p><p>Relatório gerado por CopySpider Software 2024-09-19 21:57:06</p><p>RelatóriodeAtividadePrática</p><p>apresentado a Universidade</p><p>Anhanguera</p><p>comorequisitoparaobtençãodemédiapara a</p><p>disciplina de</p><p>Programação Web</p><p>.</p><p>TAUBATE/SP</p><p>202</p><p>4</p><p>SUMÁRIO</p><p>INTRODUÇÃO</p><p>https://copyspider.com.br/</p><p>https://copyspider.com.br/</p><p>CopySpider</p><p>https://copyspider.com.br/ Página 16 de57</p><p>Relatório gerado por CopySpider Software 2024-09-19 21:57:06</p><p>Spring Boot é um framework de plataforma que promove velocidade e simplifica o processo de</p><p>desenvolvimento de aplicações Java. O objetivo era permitir que desenvolvedores de todos os níveis de</p><p>habilidade criassem aplicativos sem precisar configurar manualmente o ambiente de desenvolvimento.</p><p>ComSpringBoot,vocêpodeiniciarumprojetousandoumaconfiguraçãopadrãoquejáincluimuitasdas bibliotecas</p><p>e dependências necessárias para criar aplicativos web. Além disso, fornece um framework poderoso para</p><p>configuração automática de aplicações,</p><p>este framework é baseado nas variáveis</p><p>??ambientais presentes.</p><p>OutroaspectobenéficodoSpringBootéqueelesuportaumavariedadedebancosdedadosebibliotecas de</p><p>terceiros, o que permite aos desenvolvedores criar aplicativos mais eficazes e versáteis. Com sua</p><p>arquitetura modular bem estruturada, o Spring Boot também é simples de aumentar e personalizar, o que</p><p>o torna uma opção atraente para uma variedade de desenvolvedores Java.</p><p>OobjetivodestaempreitadafoicriarumsistemaparagerenciamentodeusuáriosviaAPIsRestutilizando o</p><p>framework Spring.</p><p>NesterelatóriopráticofoiimplementadoumprojetoBackendemRestAPIutilizandoalinguagemde programação</p><p>Java e o framework Spring na IDE Eclipse. O empreendimento possui objetivos que correspondem a um</p><p>CRUD, retornando usuários que foram criados no banco de dados.</p><p>Um projeto base com a arquitetura Spring foi construído com a opção de Maven, Java 17 e Spring 3.0.6,</p><p>todos associados ao framework Spring. Além de um complemento Spring Tools instalado pelo mercado</p><p>Eclipsequeimplementatratamentodeerrospararesolverpossíveisproblemasduranteousodosistema.</p><p>DESENVOLVIMENTO</p><p>UmdosusosmaiscomunsdeJavaécriaraplicativosbaseadosnaWebeAPIsREST,umdos frameworks mais</p><p>eficazes para isso é o Spring-boot.</p><p>Spring-boot se surpreende com a facilidade de criar um aplicativo web em minutos e com o mínimo de</p><p>código. A maneira mais simples de criar uma aplicação com Spring-Boot é através do Spring Initializr.</p><p>Nesta empreitada foi iniciado um projeto utilizando o framework Spring para gerenciar os usuários de um</p><p>sistema, este projeto era baseado em uma API Rest e exigia que os endpoints necessários estivessem</p><p>acessíveispararealizaraçõesdegerenciamentodeusuários(CRUD).AempreitadafoibaseadaemMVC e exigiu</p><p>a criação do modelo lógico para a criação do banco de dados, bem como a conexão a ele.</p><p>Juntamentecomalógicafundamental,eranecessárioumsistemaseparadoparalidarcomexceções.</p><p>RESULTADOS</p><p>O primeiro passo foi obter o software listado abaixo:</p><p>? Eclipse com Spring Tool: é um IDE baseado em Eclipse que utiliza Spring Boot, um IDE pré-existente</p><p>https://copyspider.com.br/</p><p>https://copyspider.com.br/</p><p>CopySpider</p><p>https://copyspider.com.br/ Página 17 de57</p><p>Relatório gerado por CopySpider Software 2024-09-19 21:57:06</p><p>quepossuipluginsSpringquefacilitamodesenvolvimentocomoecossistemaspring.OsoftwareEclipse servirá</p><p>como importador de texto.</p><p>Figura 1: Spring Tools 4 for Eclipse</p><p>?Postman:éumaplicativoqueutilizaaAPIparatestes.ÉumclienteHTTPquetestasolicitaçõesHTTP através de</p><p>uma interface gráfica, fornecendo diferentes respostas que precisam ser aprovadas posteriormente.</p><p>Figura 2: Postman</p><p>OprojetobasefoiconstruídocomaestruturaSpringapartirdoseguintelink:https://start.spring.io/,foram</p><p>empregadas as seguintes opções: Maven, Java versão 17, Spring versão 3.0.0, empacotamento JAR,</p><p>Adicionar requisitos: SpringWeb . Selecionado "gerar". Descompacte o arquivo que foi transferido para a</p><p>área do projeto.</p><p>Aberto o Spring Tool Suite e acessa do o projeto base através do caminho: ?File > Import> Maven</p><p>>ExistingMavenprojects?:selecionadaapastarecémcriada.Selecionadooarquivopom.xmlclicado em</p><p>?Finish?.</p><p>?Foi criada a classe User dentro do pacote entities em src/main/java.</p><p>? Foram criados os atributos básicos: id, nome, e-mail, telefone, password.</p><p>?Foicriadoumconstrutorvazioeumconstrutorusandotodososatributos(campos).Criadososgetterse setters.</p><p>?GeradaaimplementaçãoparaométodohashCode()eequals()(botãodireito>sourcegenerate hashCode...).</p><p>?Adicionadaaestaclasseasannotations@Entitye@Table(name="tb_user") Figura 3:</p><p>Criação da classe User</p><p>Em src/main/java, crido umpacote ?resource? edentro dele crida a classe UserResource (esta classe ira</p><p>ser o nosso controller). Adicionada as annotations @RestController e @RequestMapping(value="/users").</p><p>O banco de dados foi o H2 que é um banco de dados relacional que pode ser executado no modo cliente-</p><p>servidor. Iremos utilizar JPA para persistir os dados. Vamos então configurar nosso projeto para incluir a</p><p>dependênciadestesdoisrecursos.Paraistofoiadicionadoasseguintesdependênciasnoarquivopom.xml</p><p>conforme a figura a seguir:</p><p>Figura 4: Adição de dependências no arquivo pom.xml</p><p>https://copyspider.com.br/</p><p>https://copyspider.com.br/</p><p>CopySpider</p><p>https://copyspider.com.br/ Página 18 de57</p><p>Relatório gerado por CopySpider Software 2024-09-19 21:57:06</p><p>Em src/m ain/resources, criado o arquivo application.properties (ele nos servirá para armazenar</p><p>propriedadesdeescopodoaplicativo).Adicionadasasseguinteslinhas:spring.profiles.active=teste</p><p>spring.jpa.open-in-view=true</p><p>Figura 5: Criado o arquivo application properties</p><p>Em src/main/resources, criado o arquivo application-test.properties (ele nos servirá para armazenar</p><p>propriedadesdeescopodoaplicativoparaarealizaçãodostesteslocais).Adicionadasasseguintes linhas:</p><p>Figura 6: Criado o arquivo application-test-properties</p><p>Emsrc/main/java,criadoumpacote?repositories?edentrodelecriadoainterfaceUserRepository.Estend ida a</p><p>classe JpaRepository e passado como definição ao JpaRepository a entidade ?User? e o tipo da chave</p><p>primaria (id):JpaRepository<User, Long></p><p>Criadaumaclassedeconfiguraçãoqueirárodartodavezqueexecutadooprojetonomodoteste.Elairá nos servir</p><p>para popular alguns dados no banco em tempo de execução (o H2 é um banco de dados em memória,</p><p>portanto quando a aplicação for finalizada seus dados deixarão de existir). Em src/main/java, criado um</p><p>pacote ?config? e dentro dele crie a classe TestConfig que irá implementar a interface</p><p>CommandLineRunner.</p><p>FoiinjetadoumatributodotipoUserRepositoryàestaclasseutilizandoaannotation@Autowired. Implementado o</p><p>método run, adicionando as seguintes linhas:</p><p>? User u1 = new User(null, "Maria Brown","maria@gmail.com","988888888", "123456");</p><p>? User u2 = new User(null, "Alex Green", "alex@gmail.com", "977777777","123456"); userRepository</p><p>.saveAll(Arrays.asList(u1, u 2));</p><p>Emsrc/main/java,criadoumpacote?services?edentrodelecriada ainte rface UserService,</p><p>utilizandonestaclasseaannotation@Service.InjetadoumatributodotipoUserRepositoryàestaclasseutilizando</p><p>aannotation@Autowired.Criadosos seguintesmétodoseimplementadocada umde</p><p>les:findAll,findById,insert, deletee update. Em src/main/java/resources, na classe UserResource,</p><p>injetadoum atributo do tipoUserSe rviceàestaclasseutilizandoaannotation@A utowired.Emse guida,</p><p>implementadasasseguintesrotas:findAll(GET),find ById(GET),insert (POST), delete (DELETE), update</p><p>(PUT).</p><p>Figura 7: Criação das rotas</p><p>? Em src/main/java/service, criado um pacote ?excep tions? e dentro dele criado a classe</p><p>ResourceNotFoundException.EstendidaaclasseRuntimeExceptioneimplementadooconstrutorda classe</p><p>fazendo a chamada para o construtor pai, passando uma mensagem personalizada.</p><p>?Emsrc/main/java/resources,crieumpacote?exceptions?edentrodelecriadasasseguintesclasses:</p><p>StandardError eResourceExceptionHandler.</p><p>https://copyspider.com.br/</p><p>https://copyspider.com.br/</p><p>mailto:maria@gmail.com</p><p>mailto:alex@gmail.com</p><p>CopySpider</p><p>https://copyspider.com.br/ Página 19 de57</p><p>Relatório gerado por CopySpider Software 2024-09-19 21:57:06</p><p>?EmStandardErrorcriadososatributosbásicos:timestamp,status,error,message,path.Criadosum construtor</p><p>vazio e um construtor usando todos os atributos (campos). Criados os getters e setters.</p><p>FeitocomquesuaclasseimplementeainterfaceSerializableecriadooatributoserialVersionUID(elevai</p><p>serútilcasosejanecessáriosalvaroobjetoem umarquivoetc.).</p><p>EmResourceExceptionHandler:adicionadaaseguinteanotaçãoàclasse:@ControllerAdvice.Vaiservir pra</p><p>interceptar a exceção lançada quando não for encontrado um usuário.</p><p>CriadoométodoresourceNotFound:eleretornaráumobjetodotipoResponseEntity<StandardError> e que</p><p>recebeu como parâmetro o objeto ResourceNotFoundException.</p><p>Adicionada a anotação abaixo ao método criado.</p><p>@ExceptionHandler(ResourceNotFoundException.class)</p><p>Naimplementaçãodométodo,alémdepassarumamensagemcustomizada,foialteradoocódigodeerro da</p><p>exceção, passando o tipo</p><p>HttpStatus status = Http Status.NOT_FOUND;</p><p>Emsrc/main/java/services,naclasseUserService,modificadososmétodosfindById,deleteeupdate adicionando</p><p>um try/catch que lance a exceção do tipo ResourceNotFoundException.</p><p>Testando a aplicação utilizando o postman.</p><p>Figura 8: Teste de usuários com Postman</p><p>Figura 9: Busca por id com o Postman</p><p>Figura 10: Criação de usuário com a rota POST</p><p>https://copyspider.com.br/</p><p>https://copyspider.com.br/</p><p>CopySpider</p><p>https://copyspider.com.br/ Página 20 de57</p><p>Relatório gerado por CopySpider Software 2024-09-19 21:57:06</p><p>Figura 11: Estrutura</p><p>CONCLUSÃO</p><p>Spring Boot é uma estrutura de desenvolvimento de aplicativos Java que agiliza a infraestrutura</p><p>necessária para a criação de um sistema resiliente e escalável. Ele fornece recursos convenientes de</p><p>configuração automática e uma extensa coleção de bibliotecas, permitindo que os desenvolvedores se</p><p>concentrem na construção de funcionalidades de negócios sem o fardo de configurar a infraestrutura.</p><p>Alémdisso,oSpringBootoferecegrandeflexibilidade,capacitandoosdesenvolvedoresapersonalizare ajustar o</p><p>ambiente de execução de seus aplicativos.</p><p>ParaempresasquebuscamconstruiraplicativosJavadeformarápidaeeficaz,semsacrificara escalabilidade e a</p><p>segurança, o Spring Boot é a escolha ideal. Essa estrutura permite que os desenvolvedores construam</p><p>sistemas complexos sem esforço, resultando em um processo de desenvolvimento e manutenção mais</p><p>simplificado e seguro.</p><p>Com o auxílio do framework Spring, o projeto foi concluído de forma triunfante, resultando no</p><p>estabelecimentodeumsistemadegerenciamentodeusuáriosseguroeeficiente.AintegraçãodaRest API</p><p>facilitou a comunicação perfeita com sistemas externos, permitindo a utilização de dados para diversos</p><p>objetivos. A documentação completa garante que futuros desenvolvedores serão capazes de manter e</p><p>modificar o sistema conforme necessário.</p><p>REFERÊNCIAS BIBLIOGRÁFICAS</p><p>BARANCELLI JUNIOR, Gaspar. Banco de dados H2 com Spring Boot. 2023. Disponível em: https://www</p><p>.gasparbarancelli.com/post/banco-de-dados-h2-com-spring-boot. Acesso em: 19 set. 2024.</p><p>https://copyspider.com.br/</p><p>https://copyspider.com.br/</p><p>CopySpider</p><p>https://copyspider.com.br/ Página 21 de57</p><p>Relatório gerado por CopySpider Software 2024-09-19 21:57:06</p><p>BRITO, Michelli. Spring Boot | Curso Completo 2022. 2022. Disponível em: https://www.youtube.com</p><p>/watch?v=LXRU-Z36GEU&t=38s. Acesso em: 19 set. 2024.</p><p>CLARK, Mariana. Top Frameworks para Java. 2023. Disponível em: https://blog.back4app.com/pt</p><p>/frameworks-java/#O_que_e_um_Framework. Acesso em: 19 set. 2024.</p><p>FADATARE, RAMESH. Spring Boot CRUD Example with H2 Database. JAVA GUIDES. Disponível em:</p><p>https://www.javaguides.net/2020/04/spring-boot-h2-jpa-hibernate-restful-crud-api-tutorial.html.Acessoem:</p><p>19 set. 2024.</p><p>FRANCO,DEBRA.RetrievingRequest'sURIfromWebRequestinSpring.COPYPROGRAMMING,2023.</p><p>Disponível em: https://copyprogramming.com/howto/how-to-get-request-s-uri-from-webrequest-in-spring.</p><p>Acesso em: 19 set. 2024.</p><p>MOREIRA, DHIONSON PLASTER. Criando o Backend de um E-commerce com Java e Spring Boot -</p><p>Parte 1. LINKEDIN, 2023. Disponível em: https://pt.linkedin.com/pulse/criando-o-backend-de-um -e-</p><p>commerce-com-java-e-spring-plaster-moreira?trk=portfolio_article-card_title. Acesso em: 19 set. 2024.</p><p>MOREIRA,DHIONSONPLASTER.ConfigurandooBancodeTesteH2emseuProjetoSpringBoot-Parte</p><p>2. LINKEDIN, 2023. Disponível em: https://pt.linkedin.com/pulse/configurando-o-banco-de-teste-h2-em-</p><p>seu-projeto-boot-plaster-moreira?trk=portfolio_article-card_title. Acesso em: 19 set. 2024.</p><p>MOREIRA,DHIONSONPLASTER.DesenvolvendoumaAPIRESTcomSpringBoot-Parte4:</p><p>Implementação de Serviços e Testes com Postman. LINKEDIN, 2023. Disponível em: https://pt.linkedin</p><p>.com/pulse/desenvolvendo-uma-api-rest-com-spring-boot-parte-4-plaster-moreira?trk=portfolio_article-card</p><p>_title. Acesso em: 19 set. 2024.</p><p>ZANINI, ANTONELLO. Get Started with Custom Error Handling in Spring Boot (Java). AUTH0, 2021.</p><p>Disponívelem:https://auth0.com/blog/get-started-with-custom-error-handling-in-spring-boot-java/.Acesso</p><p>em: 19 set. 2024.</p><p>https://copyspider.com.br/</p><p>https://copyspider.com.br/</p><p>http://www.youtube.com/</p><p>http://www.javaguides.net/2020/04/spring-boot-h2-jpa-hibernate-restful-crud-api-tutorial.html</p><p>CopySpider</p><p>https://copyspider.com.br/ Página 22 de57</p><p>Relatório gerado por CopySpider Software 2024-09-19 21:57:07</p><p>=================================================================================</p><p>Arquivo 1: ATIVIDADE PRATICA - JOAO PAULO - PROGRAMAÇÃO.docx (1571 termos)</p><p>Arquivo 2: https://blog.danielpadua.dev/pt/posts/java-spring-boot-eclipse (921 termos)</p><p>Termos comuns: 11</p><p>Similaridade: 0,44%</p><p>OtextoabaixoéoconteúdododocumentoATIVIDADEPRATICA-JOAOPAULO- PROGRAMAÇÃO.docx</p><p>(1571 termos)</p><p>Ostermosemvermelhoforamencontradosnodocumentohttps://blog.danielpadua.dev/pt/posts/java-</p><p>spring-boot-eclipse (921 termos)</p><p>=================================================================================</p><p>15</p><p>FACULDADE ANHANGUERA</p><p>SistemadeEnsino100%ON LINE</p><p>curso</p><p>JOÃO PAULO FERREIRA DA CRUZ NUNES MACHADO</p><p>ATIVIDADE PRÁTICA</p><p>PROGRAMAÇÃOWEB</p><p>https://copyspider.com.br/</p><p>https://copyspider.com.br/</p><p>https://blog.danielpadua.dev/pt/posts/java-spring-boot-eclipse</p><p>https://blog.danielpadua.dev/pt/posts/java-spring-boot-eclipse</p><p>https://blog.danielpadua.dev/pt/posts/java-spring-boot-eclipse</p><p>https://blog.danielpadua.dev/pt/posts/java-spring-boot-eclipse</p><p>CopySpider</p><p>https://copyspider.com.br/ Página 23 de57</p><p>Relatório gerado por CopySpider Software 2024-09-19 21:57:07</p><p>TAUBATE/SP</p><p>2024</p><p>JOINVILLE/SC</p><p>202</p><p>4</p><p>JOÃO PAULO FERREIRA DA CRUZ NUNES MACHADO</p><p>ATIVIDADE PRÁTICA</p><p>PROGRAMAÇÃOWEB</p><p>https://copyspider.com.br/</p><p>https://copyspider.com.br/</p><p>CopySpider</p><p>https://copyspider.com.br/ Página 24 de57</p><p>Relatório gerado por CopySpider Software 2024-09-19 21:57:07</p><p>RelatóriodeAtividadePrática</p><p>apresentado a Universidade</p><p>Anhanguera</p><p>comorequisitoparaobtençãodemédiapara a</p><p>disciplina de</p><p>Programação Web</p><p>.</p><p>TAUBATE/SP</p><p>202</p><p>4</p><p>SUMÁRIO</p><p>INTRODUÇÃO</p><p>Spring Boot é um framework de plataforma que promove velocidade e simplifica o processo de</p><p>https://copyspider.com.br/</p><p>https://copyspider.com.br/</p><p>CopySpider</p><p>https://copyspider.com.br/ Página 25 de57</p><p>Relatório gerado por CopySpider Software 2024-09-19 21:57:07</p><p>desenvolvimento de aplicações Java. O objetivo era permitir que desenvolvedores de todos os níveis de</p><p>habilidade criassem aplicativos sem precisar configurar manualmente o ambiente de desenvolvimento.</p><p>ComSpringBoot,vocêpodeiniciarumprojetousandoumaconfiguraçãopadrãoquejáincluimuitasdas bibliotecas</p><p>e dependências necessárias para criar aplicativos web. Além disso, fornece um framework poderoso para</p><p>configuração automática de aplicações, este framework é baseado nas variáveis</p><p>??ambientais presentes.</p><p>OutroaspectobenéficodoSpringBootéqueelesuportaumavariedadedebancosdedadosebibliotecas de</p><p>terceiros, o que permite aos desenvolvedores criar aplicativos mais eficazes e versáteis. Com sua</p><p>arquitetura modular bem estruturada, o Spring Boot também é simples de aumentar e personalizar, o que</p><p>o torna uma opção atraente para uma variedade de desenvolvedores Java.</p><p>OobjetivodestaempreitadafoicriarumsistemaparagerenciamentodeusuáriosviaAPIsRestutilizando o</p><p>framework Spring.</p><p>NesterelatóriopráticofoiimplementadoumprojetoBackendemRestAPIutilizandoalinguagemde programação</p><p>Java e o framework Spring na IDE Eclipse. O empreendimento possui objetivos que correspondem a um</p><p>CRUD,</p><p>retornando usuários que foram criados no banco de dados.</p><p>Um projeto base com a arquitetura Spring foi construído com a opção de Maven, Java 17 e Spring 3.0.6,</p><p>todos associados ao framework Spring. Além de um complemento Spring Tools instalado pelo mercado</p><p>Eclipsequeimplementatratamentodeerrospararesolverpossíveisproblemasduranteousodosistema.</p><p>DESENVOLVIMENTO</p><p>UmdosusosmaiscomunsdeJavaécriaraplicativosbaseadosnaWebeAPIsREST,umdos frameworks mais</p><p>eficazes para isso é o Spring-boot.</p><p>Spring-boot se surpreende com a facilidade de criar um aplicativo web em minutos e com o mínimo de</p><p>código. A maneira mais simples de criar uma aplicação com Spring-Boot é através do Spring Initializr.</p><p>Nesta empreitada foi iniciado um projeto utilizando o framework Spring para gerenciar os usuários de um</p><p>sistema, este projeto era baseado em uma API Rest e exigia que os endpoints necessários estivessem</p><p>acessíveispararealizaraçõesdegerenciamentodeusuários(CRUD).AempreitadafoibaseadaemMVC e exigiu</p><p>a criação do modelo lógico para a criação do banco de dados, bem como a conexão a ele.</p><p>Juntamentecomalógicafundamental,eranecessárioumsistemaseparadoparalidarcomexceções.</p><p>RESULTADOS</p><p>O primeiro passo foi obter o software listado abaixo:</p><p>? Eclipse com Spring Tool: é um IDE baseado em Eclipse que utiliza Spring Boot, um IDE pré-existente</p><p>quepossuipluginsSpringquefacilitamodesenvolvimentocomoecossistemaspring.OsoftwareEclipse servirá</p><p>como importador de texto.</p><p>https://copyspider.com.br/</p><p>https://copyspider.com.br/</p><p>CopySpider</p><p>https://copyspider.com.br/ Página 26 de57</p><p>Relatório gerado por CopySpider Software 2024-09-19 21:57:07</p><p>Figura 1: Spring Tools 4 for Eclipse</p><p>?Postman:éumaplicativoqueutilizaaAPIparatestes.ÉumclienteHTTPquetestasolicitaçõesHTTP através de</p><p>uma interface gráfica, fornecendo diferentes respostas que precisam ser aprovadas posteriormente.</p><p>Figura 2: Postman</p><p>OprojetobasefoiconstruídocomaestruturaSpringapartirdoseguintelink:https://start.spring.io/,foram</p><p>empregadas as seguintes opções: Maven, Java versão 17, Spring versão 3.0.0, empacotamento JAR,</p><p>Adicionar requisitos: SpringWeb . Selecionado "gerar". Descompacte o arquivo que foi transferido para a</p><p>área do projeto.</p><p>Aberto o Spring Tool Suite e acessa do o projeto base através do caminho: ?File > Import> Maven</p><p>>ExistingMavenprojects?:selecionadaapastarecémcriada.Selecionadooarquivopom.xmlclicado em</p><p>?Finish?.</p><p>? Foi criada a classe User dentro do pacote entities em src/main/java.</p><p>? Foram criados os atributos básicos: id, nome, e-mail, telefone, password.</p><p>?Foicriadoumconstrutorvazioeumconstrutorusandotodososatributos(campos).Criadososgetterse setters.</p><p>?GeradaaimplementaçãoparaométodohashCode()eequals()(botãodireito>sourcegenerate hashCode...).</p><p>?Adicionadaaestaclasseasannotations@Entitye@Table(name="tb_user") Figura 3:</p><p>Criação da classe User</p><p>Em src/main/java, crido umpacote ?resource? edentro dele crida a classe UserResource (esta classe ira</p><p>ser o nosso controller). Adicionada as annotations @RestController e @RequestMapping(value="/users").</p><p>O banco de dados foi o H2 que é um banco de dados relacional que pode ser executado no modo cliente-</p><p>servidor. Iremos utilizar JPA para persistir os dados. Vamos então configurar nosso projeto para incluir a</p><p>dependênciadestesdoisrecursos.Paraistofoiadicionadoasseguintesdependênciasnoarquivopom.xml</p><p>conforme a figura a seguir:</p><p>Figura 4: Adição de dependências no arquivo pom.xml</p><p>Em src/m ain/resources, criado o arquivo application.properties (ele nos servirá para armazenar</p><p>https://copyspider.com.br/</p><p>https://copyspider.com.br/</p><p>CopySpider</p><p>https://copyspider.com.br/ Página 27 de57</p><p>Relatório gerado por CopySpider Software 2024-09-19 21:57:07</p><p>propriedadesdeescopodoaplicativo).Adicionadasasseguinteslinhas:spring.profiles.active=teste</p><p>spring.jpa.open-in-view=true</p><p>Figura 5: Criado o arquivo application properties</p><p>Em src/main/resources, criado o arquivo application-test.properties (ele nos servirá para armazenar</p><p>propriedadesdeescopodoaplicativoparaarealizaçãodostesteslocais).Adicionadasasseguintes linhas:</p><p>Figura 6: Criado o arquivo application-test-properties</p><p>Emsrc/main/java,criadoumpacote?repositories?edentrodelecriadoainterfaceUserRepository.Estend ida a</p><p>classe JpaRepository e passado como definição ao JpaRepository a entidade ?User? e o tipo da chave</p><p>primaria (id):JpaRepository<User, Long></p><p>Criadaumaclassedeconfiguraçãoqueirárodartodavezqueexecutadooprojetonomodoteste.Elairá nos servir</p><p>para popular alguns dados no banco em tempo de execução (o H2 é um banco de dados em memória,</p><p>portanto quando a aplicação for finalizada seus dados deixarão de existir). Em src/main/java, criado um</p><p>pacote ?config? e dentro dele crie a classe TestConfig que irá implementar a interface</p><p>CommandLineRunner.</p><p>FoiinjetadoumatributodotipoUserRepositoryàestaclasseutilizandoaannotation@Autowired. Implementado o</p><p>método run, adicionando as seguintes linhas:</p><p>? User u1 = new User(null, "Maria Brown","maria@gmail.com","988888888", "123456");</p><p>? User u2 = new User(null, "Alex Green", "alex@gmail.com", "977777777","123456"); userRepository</p><p>.saveAll(Arrays.asList(u1, u 2));</p><p>Emsrc/main/java,criadoumpacote?services?edentrodelecriada ainte rface UserService,</p><p>utilizandonestaclasseaannotation@Service.InjetadoumatributodotipoUserRepositoryàestaclasseutilizando</p><p>aannotation@Autowired.Criadosos seguintesmétodoseimplementadocada umde</p><p>les:findAll,findById,insert, deletee update. Em src/main/java/resources, na classe UserResource,</p><p>injetadoum atributo do tipoUserSe rviceàestaclasseutilizandoaannotation@A utowired.Emse guida,</p><p>implementadasasseguintesrotas:findAll(GET),find ById(GET),insert (POST), delete (DELETE), update</p><p>(PUT).</p><p>Figura 7: Criação das rotas</p><p>? Em src/main/java/service, criado um pacote ?excep tions? e dentro dele criado a classe</p><p>ResourceNotFoundException.EstendidaaclasseRuntimeExceptioneimplementadooconstrutorda classe</p><p>fazendo a chamada para o construtor pai, passando uma mensagem personalizada.</p><p>?Emsrc/main/java/resources,crieumpacote?exceptions?edentrodelecriadasasseguintesclasses:</p><p>StandardError eResourceExceptionHandler.</p><p>?EmStandardErrorcriadososatributosbásicos:timestamp,status,error,message,path.Criadosum construtor</p><p>vazio e um construtor usando todos os atributos (campos). Criados os getters e setters.</p><p>https://copyspider.com.br/</p><p>https://copyspider.com.br/</p><p>mailto:maria@gmail.com</p><p>mailto:alex@gmail.com</p><p>CopySpider</p><p>https://copyspider.com.br/ Página 28 de57</p><p>Relatório gerado por CopySpider Software 2024-09-19 21:57:07</p><p>FeitocomquesuaclasseimplementeainterfaceSerializableecriadooatributoserialVersionUID(elevai</p><p>serútilcasosejanecessáriosalvaroobjetoem umarquivoetc.).</p><p>EmResourceExceptionHandler:adicionadaaseguinteanotaçãoàclasse:@ControllerAdvice.Vaiservir pra</p><p>interceptar a exceção lançada quando não for encontrado um usuário.</p><p>CriadoométodoresourceNotFound:eleretornaráumobjetodotipoResponseEntity<StandardError> e que</p><p>recebeu como parâmetro o objeto ResourceNotFoundException.</p><p>Adicionada a anotação abaixo ao método criado.</p><p>@ExceptionHandler(ResourceNotFoundException.class)</p><p>Naimplementaçãodométodo,alémdepassarumamensagemcustomizada,foialteradoocódigodeerro da</p><p>exceção, passando o tipo</p><p>HttpStatus status = Http Status.NOT_FOUND;</p><p>Emsrc/main/java/services,naclasseUserService,modificadososmétodosfindById,deleteeupdate adicionando</p><p>um try/catch que lance a exceção do tipo ResourceNotFoundException.</p><p>Testando a aplicação utilizando o postman.</p><p>Figura 8: Teste de usuários com Postman</p><p>Figura 9: Busca por id com o Postman</p><p>Figura 10: Criação de usuário com a rota POST</p><p>https://copyspider.com.br/</p><p>https://copyspider.com.br/</p><p>CopySpider</p><p>https://copyspider.com.br/ Página 29 de57</p><p>Relatório gerado por CopySpider Software 2024-09-19 21:57:07</p><p>Figura 11: Estrutura</p><p>CONCLUSÃO</p><p>Spring Boot é uma estrutura de desenvolvimento de aplicativos Java que agiliza a infraestrutura</p><p>necessária para a criação de um sistema resiliente e escalável. Ele fornece recursos convenientes de</p><p>configuração automática e uma extensa coleção de bibliotecas, permitindo que os desenvolvedores se</p><p>concentrem na construção de funcionalidades de negócios sem o fardo de configurar a infraestrutura.</p><p>Alémdisso,oSpringBootoferecegrandeflexibilidade,capacitandoosdesenvolvedoresapersonalizare ajustar o</p><p>ambiente de execução de seus aplicativos.</p><p>ParaempresasquebuscamconstruiraplicativosJavadeformarápidaeeficaz,semsacrificara escalabilidade e a</p><p>segurança, o Spring Boot é a escolha ideal. Essa estrutura permite que os desenvolvedores construam</p><p>sistemas complexos sem esforço, resultando em um processo de desenvolvimento e manutenção mais</p><p>simplificado e seguro.</p><p>Com o auxílio do framework Spring, o projeto foi concluído de forma triunfante, resultando no</p><p>estabelecimentodeumsistemadegerenciamentodeusuáriosseguroeeficiente.AintegraçãodaRest API</p><p>facilitou a comunicação perfeita com sistemas externos, permitindo a utilização de dados para diversos</p><p>objetivos. A documentação completa garante que futuros desenvolvedores serão capazes de manter e</p><p>modificar o sistema conforme necessário.</p><p>REFERÊNCIAS BIBLIOGRÁFICAS</p><p>BARANCELLI JUNIOR, Gaspar. Banco de dados H2 com Spring Boot. 2023. Disponível em: https://www</p><p>.gasparbarancelli.com/post/banco-de-dados-h2-com-spring-boot. Acesso em: 19 set. 2024.</p><p>BRITO, Michelli. Spring Boot | Curso Completo 2022. 2022. Disponível em: https://www.youtube.com</p><p>/watch?v=LXRU-Z36GEU&t=38s. Acesso em: 19 set. 2024.</p><p>https://copyspider.com.br/</p><p>https://copyspider.com.br/</p><p>http://www.youtube.com/</p><p>CopySpider</p><p>https://copyspider.com.br/ Página 30 de57</p><p>Relatório gerado por CopySpider Software 2024-09-19 21:57:07</p><p>CLARK, Mariana. Top Frameworks para Java. 2023. Disponível em: https://blog.back4app.com/pt</p><p>/frameworks-java/#O_que_e_um_Framework. Acesso em: 19 set. 2024.</p><p>FADATARE, RAMESH. Spring Boot CRUD Example with H2 Database. JAVA GUIDES. Disponível em:</p><p>https://www.javaguides.net/2020/04/spring-boot-h2-jpa-hibernate-restful-crud-api-tutorial.html.Acessoem:</p><p>19 set. 2024.</p><p>FRANCO,DEBRA.RetrievingRequest'sURIfromWebRequestinSpring.COPYPROGRAMMING,2023.</p><p>Disponível em: https://copyprogramming.com/howto/how-to-get-request-s-uri-from-webrequest-in-spring.</p><p>Acesso em: 19 set. 2024.</p><p>MOREIRA, DHIONSON PLASTER. Criando o Backend de um E-commerce com Java e Spring Boot -</p><p>Parte 1. LINKEDIN, 2023. Disponível em: https://pt.linkedin.com/pulse/criando-o-backend-de-um -e-</p><p>commerce-com-java-e-spring-plaster-moreira?trk=portfolio_article-card_title. Acesso em: 19 set. 2024.</p><p>MOREIRA,DHIONSONPLASTER.ConfigurandooBancodeTesteH2emseuProjetoSpringBoot-Parte</p><p>2. LINKEDIN, 2023. Disponível em: https://pt.linkedin.com/pulse/configurando-o-banco-de-teste-h2-em-</p><p>seu-projeto-boot-plaster-moreira?trk=portfolio_article-card_title. Acesso em: 19 set. 2024.</p><p>MOREIRA,DHIONSONPLASTER.DesenvolvendoumaAPIRESTcomSpringBoot-Parte4:</p><p>Implementação de Serviços e Testes com Postman. LINKEDIN, 2023. Disponível em: https://pt.linkedin</p><p>.com/pulse/desenvolvendo-uma-api-rest-com-spring-boot-parte-4-plaster-moreira?trk=portfolio_article-card</p><p>_title. Acesso em: 19 set. 2024.</p><p>ZANINI, ANTONELLO. Get Started with Custom Error Handling in Spring Boot (Java). AUTH0, 2021.</p><p>Disponívelem:https://auth0.com/blog/get-started-with-custom-error-handling-in-spring-boot-java/.Acesso</p><p>em: 19 set. 2024.</p><p>https://copyspider.com.br/</p><p>https://copyspider.com.br/</p><p>http://www.javaguides.net/2020/04/spring-boot-h2-jpa-hibernate-restful-crud-api-tutorial.html</p><p>CopySpider</p><p>https://copyspider.com.br/ Página 31 de57</p><p>Relatório gerado por CopySpider Software 2024-09-19 21:57:07</p><p>=================================================================================</p><p>Arquivo 1: ATIVIDADE PRATICA - JOAO PAULO - PROGRAMAÇÃO.docx (1571 termos)</p><p>Arquivo2:https://codegym.cc/pt/groups/posts/pt.112.serializacao-e-desserializacao-em-java(1873termos)</p><p>Termos comuns: 5</p><p>Similaridade: 0,14%</p><p>OtextoabaixoéoconteúdododocumentoATIVIDADEPRATICA-JOAOPAULO- PROGRAMAÇÃO.docx</p><p>(1571 termos)</p><p>Os termos em vermelho foram encontrados no documento</p><p>https://codegym.cc/pt/groups/posts/pt.112.serializacao-e-desserializacao-em-java (1873 termos)</p><p>=================================================================================</p><p>15</p><p>FACULDADE ANHANGUERA</p><p>SistemadeEnsino100%ON LINE</p><p>curso</p><p>JOÃO PAULO FERREIRA DA CRUZ NUNES MACHADO</p><p>ATIVIDADE PRÁTICA</p><p>PROGRAMAÇÃOWEB</p><p>https://copyspider.com.br/</p><p>https://copyspider.com.br/</p><p>https://codegym.cc/pt/groups/posts/pt.112.serializacao-e-desserializacao-em-java</p><p>https://codegym.cc/pt/groups/posts/pt.112.serializacao-e-desserializacao-em-java</p><p>https://codegym.cc/pt/groups/posts/pt.112.serializacao-e-desserializacao-em-java</p><p>CopySpider</p><p>https://copyspider.com.br/ Página 32 de57</p><p>Relatório gerado por CopySpider Software 2024-09-19 21:57:07</p><p>TAUBATE/SP</p><p>2024</p><p>JOINVILLE/SC</p><p>202</p><p>4</p><p>JOÃO PAULO FERREIRA DA CRUZ NUNES MACHADO</p><p>ATIVIDADE PRÁTICA</p><p>PROGRAMAÇÃOWEB</p><p>https://copyspider.com.br/</p><p>https://copyspider.com.br/</p><p>CopySpider</p><p>https://copyspider.com.br/ Página 33 de57</p><p>Relatório gerado por CopySpider Software 2024-09-19 21:57:07</p><p>RelatóriodeAtividadePrática</p><p>apresentado a Universidade</p><p>Anhanguera</p><p>comorequisitoparaobtençãodemédiapara a</p><p>disciplina de</p><p>Programação Web</p><p>.</p><p>TAUBATE/SP</p><p>202</p><p>4</p><p>SUMÁRIO</p><p>INTRODUÇÃO</p><p>https://copyspider.com.br/</p><p>https://copyspider.com.br/</p><p>CopySpider</p><p>https://copyspider.com.br/ Página 34 de57</p><p>Relatório gerado por CopySpider Software 2024-09-19 21:57:07</p><p>Spring Boot é um framework de plataforma que promove velocidade e simplifica o processo de</p><p>desenvolvimento de aplicações Java. O objetivo era permitir que desenvolvedores de todos os níveis de</p><p>habilidade criassem aplicativos sem precisar configurar manualmente o ambiente de desenvolvimento.</p><p>ComSpringBoot,vocêpodeiniciarumprojetousandoumaconfiguraçãopadrãoquejáincluimuitasdas bibliotecas</p><p>e dependências necessárias para criar aplicativos web. Além disso, fornece um framework poderoso para</p><p>configuração automática de aplicações, este framework é baseado nas variáveis</p><p>??ambientais presentes.</p><p>OutroaspectobenéficodoSpringBootéqueelesuportaumavariedadedebancosdedadosebibliotecas de</p><p>terceiros, o que permite aos desenvolvedores criar aplicativos mais eficazes e versáteis. Com sua</p><p>arquitetura modular bem estruturada, o Spring Boot também é simples de aumentar e personalizar, o que</p><p>o torna uma opção atraente para uma variedade de desenvolvedores Java.</p><p>OobjetivodestaempreitadafoicriarumsistemaparagerenciamentodeusuáriosviaAPIsRestutilizando o</p><p>framework Spring.</p><p>NesterelatóriopráticofoiimplementadoumprojetoBackendemRestAPIutilizandoalinguagemde programação</p><p>Java e o framework Spring na IDE Eclipse. O empreendimento possui objetivos que correspondem a um</p><p>CRUD, retornando usuários que foram criados no banco de dados.</p><p>Um projeto base com a arquitetura Spring foi construído com a opção de Maven, Java 17 e Spring 3.0.6,</p><p>todos associados ao framework Spring. Além de um complemento Spring Tools instalado pelo mercado</p><p>Eclipsequeimplementatratamentodeerrospararesolverpossíveisproblemasduranteousodosistema.</p><p>DESENVOLVIMENTO</p><p>UmdosusosmaiscomunsdeJavaécriaraplicativosbaseadosnaWebeAPIsREST,umdos frameworks mais</p><p>eficazes para isso é o Spring-boot.</p><p>Spring-boot se surpreende com a facilidade de criar um aplicativo web em minutos e com o mínimo de</p><p>código. A maneira mais simples de criar uma aplicação com Spring-Boot é através do Spring Initializr.</p><p>Nesta empreitada foi iniciado um projeto utilizando o framework Spring para gerenciar os usuários de um</p><p>sistema, este projeto era baseado em uma API Rest e exigia que os endpoints necessários estivessem</p><p>acessíveispararealizaraçõesdegerenciamentodeusuários(CRUD).AempreitadafoibaseadaemMVC e exigiu</p><p>a criação do modelo lógico para a criação do banco de dados, bem como a conexão a ele.</p><p>Juntamentecomalógicafundamental,eranecessárioumsistemaseparadoparalidarcomexceções.</p><p>RESULTADOS</p><p>O primeiro passo foi obter o software listado abaixo:</p><p>? Eclipse com Spring Tool: é um IDE baseado em Eclipse que utiliza Spring Boot, um IDE pré-existente</p><p>quepossuipluginsSpringquefacilitamodesenvolvimentocomoecossistemaspring.OsoftwareEclipse</p><p>https://copyspider.com.br/</p><p>https://copyspider.com.br/</p><p>CopySpider</p><p>https://copyspider.com.br/ Página 35 de57</p><p>Relatório gerado por CopySpider Software 2024-09-19 21:57:07</p><p>servirá como importador de texto.</p><p>Figura 1: Spring Tools 4 for Eclipse</p><p>?Postman:éumaplicativoqueutilizaaAPIparatestes.ÉumclienteHTTPquetestasolicitaçõesHTTP através de</p><p>uma interface gráfica, fornecendo diferentes respostas que precisam ser aprovadas posteriormente.</p><p>Figura 2: Postman</p><p>OprojetobasefoiconstruídocomaestruturaSpringapartirdoseguintelink:https://start.spring.io/,foram</p><p>empregadas as seguintes opções: Maven, Java versão 17, Spring versão 3.0.0, empacotamento JAR,</p><p>Adicionar requisitos: SpringWeb . Selecionado "gerar". Descompacte o arquivo que foi transferido para a</p><p>área do projeto.</p><p>Aberto o Spring Tool Suite e acessa do o projeto base através do caminho: ?File > Import> Maven</p><p>>ExistingMavenprojects?:selecionadaapastarecémcriada.Selecionadooarquivopom.xmlclicado em</p><p>?Finish?.</p><p>? Foi criada a classe User dentro do pacote entities em src/main/java.</p><p>? Foram criados os atributos básicos: id, nome, e-mail, telefone, password.</p><p>?Foicriadoumconstrutorvazioeumconstrutorusandotodososatributos(campos).Criadososgetterse setters.</p><p>?GeradaaimplementaçãoparaométodohashCode()eequals()(botãodireito>sourcegenerate hashCode...).</p><p>?Adicionadaaestaclasseasannotations@Entitye@Table(name="tb_user") Figura 3:</p><p>Criação da classe User</p><p>Em src/main/java, crido umpacote ?resource? edentro dele crida a classe UserResource (esta classe ira</p><p>ser o nosso controller). Adicionada as annotations @RestController e @RequestMapping(value="/users").</p><p>O banco de dados foi o H2 que é um banco de dados relacional que pode ser executado no modo cliente-</p><p>servidor. Iremos utilizar JPA para persistir os dados. Vamos então configurar nosso projeto para incluir a</p><p>dependênciadestesdoisrecursos.Paraistofoiadicionadoasseguintesdependênciasnoarquivopom.xml</p><p>conforme a figura a seguir:</p><p>Figura 4: Adição de dependências no arquivo pom.xml</p><p>https://copyspider.com.br/</p><p>https://copyspider.com.br/</p><p>CopySpider</p><p>https://copyspider.com.br/ Página 36 de57</p><p>Relatório gerado por CopySpider Software 2024-09-19 21:57:07</p><p>Em src/m ain/resources, criado o arquivo application.properties (ele nos servirá para armazenar</p><p>propriedadesdeescopodoaplicativo).Adicionadasasseguinteslinhas:spring.profiles.active=teste</p><p>spring.jpa.open-in-view=true</p><p>Figura 5: Criado o arquivo application properties</p><p>Em src/main/resources, criado o arquivo application-test.properties (ele nos servirá para armazenar</p><p>propriedadesdeescopodoaplicativoparaarealizaçãodostesteslocais).Adicionadasasseguintes linhas:</p><p>Figura 6: Criado o arquivo application-test-properties</p><p>Emsrc/main/java,criadoumpacote?repositories?edentrodelecriadoainterfaceUserRepository.Estend ida a</p><p>classe JpaRepository e passado como definição ao JpaRepository a entidade ?User? e o tipo da chave</p><p>primaria (id):JpaRepository<User, Long></p><p>Criadaumaclassedeconfiguraçãoqueirárodartodavezqueexecutadooprojetonomodoteste.Elairá nos servir</p><p>para popular alguns dados no banco em tempo de execução (o H2 é um banco de dados em memória,</p><p>portanto quando a aplicação for finalizada seus dados deixarão de existir). Em src/main/java, criado um</p><p>pacote ?config? e dentro dele crie a classe TestConfig que irá implementar a interface</p><p>CommandLineRunner.</p><p>FoiinjetadoumatributodotipoUserRepositoryàestaclasseutilizandoaannotation@Autowired. Implementado o</p><p>método run, adicionando as seguintes linhas:</p><p>? User u1 = new User(null, "Maria Brown","maria@gmail.com","988888888", "123456");</p><p>? User u2 = new User(null, "Alex Green", "alex@gmail.com", "977777777","123456"); userRepository</p><p>.saveAll(Arrays.asList(u1, u 2));</p><p>Emsrc/main/java,criadoumpacote?services?edentrodelecriada ainte rface UserService,</p><p>utilizandonestaclasseaannotation@Service.InjetadoumatributodotipoUserRepositoryàestaclasseutilizando</p><p>aannotation@Autowired.Criadosos seguintesmétodoseimplementadocada umde</p><p>les:findAll,findById,insert, deletee update. Em src/main/java/resources, na classe UserResource,</p><p>injetadoum atributo do tipoUserSe rviceàestaclasseutilizandoaannotation@A utowired.Emse guida,</p><p>implementadasasseguintesrotas:findAll(GET),find ById(GET),insert (POST), delete (DELETE), update</p><p>(PUT).</p><p>Figura 7: Criação das rotas</p><p>? Em src/main/java/service, criado um pacote ?excep tions? e dentro dele criado a classe</p><p>ResourceNotFoundException.EstendidaaclasseRuntimeExceptioneimplementadooconstrutorda classe</p><p>fazendo a chamada para o construtor pai, passando uma mensagem personalizada.</p><p>?Emsrc/main/java/resources,crieumpacote?exceptions?edentrodelecriadasasseguintesclasses:</p><p>StandardError eResourceExceptionHandler.</p><p>? Em StandardError criados os atributos básicos:tim estamp, status, error, message, path. Criados um</p><p>https://copyspider.com.br/</p><p>https://copyspider.com.br/</p><p>mailto:maria@gmail.com</p><p>mailto:alex@gmail.com</p><p>CopySpider</p><p>https://copyspider.com.br/ Página 37 de57</p><p>Relatório gerado por CopySpider Software 2024-09-19 21:57:07</p><p>construtor vazio e um construtor usando todos os atributos (campos). Criados os getters e setters.</p><p>FeitocomquesuaclasseimplementeainterfaceSerializableecriadooatributoserialVersionUID(elevai</p><p>serútilcasosejanecessáriosalvaroobjetoem umarquivoetc.).</p><p>EmResourceExceptionHandler:adicionadaaseguinteanotaçãoàclasse:@ControllerAdvice.Vaiservir pra</p><p>interceptar a exceção lançada quando não for encontrado um usuário.</p><p>CriadoométodoresourceNotFound:eleretornaráumobjetodotipoResponseEntity<StandardError> e que</p><p>recebeu como parâmetro o objeto ResourceNotFoundException.</p><p>Adicionada a anotação abaixo ao método criado.</p><p>@ExceptionHandler(ResourceNotFoundException.class)</p><p>Naimplementaçãodométodo,alémdepassarumamensagemcustomizada,foialteradoocódigodeerro da</p><p>exceção, passando o tipo</p><p>HttpStatus status = Http Status.NOT_FOUND;</p><p>Emsrc/main/java/services,naclasseUserService,modificadososmétodosfindById,deleteeupdate adicionando</p><p>um try/catch que lance a exceção do tipo ResourceNotFoundException.</p><p>Testando a aplicação utilizando o postman.</p><p>Figura 8: Teste de usuários com Postman</p><p>Figura 9: Busca por id com o Postman</p><p>Figura 10: Criação de usuário com a rota POST</p><p>https://copyspider.com.br/</p><p>https://copyspider.com.br/</p><p>CopySpider</p><p>https://copyspider.com.br/ Página 38 de57</p><p>Relatório gerado por CopySpider Software 2024-09-19 21:57:07</p><p>Figura 11: Estrutura</p><p>CONCLUSÃO</p><p>Spring Boot é uma estrutura de desenvolvimento de aplicativos Java que agiliza a infraestrutura</p><p>necessária para a criação de um sistema resiliente e escalável. Ele fornece recursos convenientes de</p><p>configuração automática e uma extensa coleção de bibliotecas, permitindo que os desenvolvedores se</p><p>concentrem na construção de funcionalidades de negócios sem o fardo de configurar a infraestrutura.</p><p>Alémdisso,oSpringBootoferecegrandeflexibilidade,capacitandoosdesenvolvedoresapersonalizare ajustar o</p><p>ambiente de execução de seus aplicativos.</p><p>ParaempresasquebuscamconstruiraplicativosJavadeformarápidaeeficaz,semsacrificara escalabilidade</p><p>e a</p><p>segurança, o Spring Boot é a escolha ideal. Essa estrutura permite que os desenvolvedores construam</p><p>sistemas complexos sem esforço, resultando em um processo de desenvolvimento e manutenção mais</p><p>simplificado e seguro.</p><p>Com o auxílio do framework Spring, o projeto foi concluído de forma triunfante, resultando no</p><p>estabelecimentodeumsistemadegerenciamentodeusuáriosseguroeeficiente.AintegraçãodaRest API</p><p>facilitou a comunicação perfeita com sistemas externos, permitindo a utilização de dados para diversos</p><p>objetivos. A documentação completa garante que futuros desenvolvedores serão capazes de manter e</p><p>modificar o sistema conforme necessário.</p><p>REFERÊNCIAS BIBLIOGRÁFICAS</p><p>BARANCELLI JUNIOR, Gaspar. Banco de dados H2 com Spring Boot. 2023. Disponível em: https://www</p><p>.gasparbarancelli.com/post/banco-de-dados-h2-com-spring-boot. Acesso em: 19 set. 2024.</p><p>BRITO, Michelli. Spring Boot | Curso Completo 2022. 2022. Disponível em: https://www.youtube.com</p><p>https://copyspider.com.br/</p><p>https://copyspider.com.br/</p><p>http://www.youtube.com/</p><p>CopySpider</p><p>https://copyspider.com.br/ Página 39 de57</p><p>Relatório gerado por CopySpider Software 2024-09-19 21:57:07</p><p>/watch?v=LXRU-Z36GEU&t=38s. Acesso em: 19 set. 2024.</p><p>CLARK, Mariana. Top Frameworks para Java. 2023. Disponível em: https://blog.back4app.com/pt</p><p>/frameworks-java/#O_que_e_um_Framework. Acesso em: 19 set. 2024.</p><p>FADATARE, RAMESH. Spring Boot CRUD Example with H2 Database. JAVA GUIDES. Disponível em:</p><p>https://www.javaguides.net/2020/04/spring-boot-h2-jpa-hibernate-restful-crud-api-tutorial.html.Acessoem:</p><p>19 set. 2024.</p><p>FRANCO,DEBRA.RetrievingRequest'sURIfromWebRequestinSpring.COPYPROGRAMMING,2023.</p><p>Disponível em: https://copyprogramming.com/howto/how-to-get-request-s-uri-from-webrequest-in-spring.</p><p>Acesso em: 19 set. 2024.</p><p>MOREIRA, DHIONSON PLASTER. Criando o Backend de um E-commerce com Java e Spring Boot -</p><p>Parte 1. LINKEDIN, 2023. Disponível em: https://pt.linkedin.com/pulse/criando-o-backend-de-um -e-</p><p>commerce-com-java-e-spring-plaster-moreira?trk=portfolio_article-card_title. Acesso em: 19 set. 2024.</p><p>MOREIRA,DHIONSONPLASTER.ConfigurandooBancodeTesteH2emseuProjetoSpringBoot-Parte</p><p>2. LINKEDIN, 2023. Disponível em: https://pt.linkedin.com/pulse/configurando-o-banco-de-teste-h2-em-</p><p>seu-projeto-boot-plaster-moreira?trk=portfolio_article-card_title. Acesso em: 19 set. 2024.</p><p>MOREIRA,DHIONSONPLASTER.DesenvolvendoumaAPIRESTcomSpringBoot-Parte4:</p><p>Implementação de Serviços e Testes com Postman. LINKEDIN, 2023. Disponível em: https://pt.linkedin</p><p>.com/pulse/desenvolvendo-uma-api-rest-com-spring-boot-parte-4-plaster-moreira?trk=portfolio_article-card</p><p>_title. Acesso em: 19 set. 2024.</p><p>ZANINI, ANTONELLO. Get Started with Custom Error Handling in Spring Boot (Java). AUTH0, 2021.</p><p>Disponívelem:https://auth0.com/blog/get-started-with-custom-error-handling-in-spring-boot-java/.Acesso</p><p>em: 19 set. 2024.</p><p>https://copyspider.com.br/</p><p>https://copyspider.com.br/</p><p>http://www.javaguides.net/2020/04/spring-boot-h2-jpa-hibernate-restful-crud-api-tutorial.html</p><p>CopySpider</p><p>https://copyspider.com.br/ Página 40 de57</p><p>Relatório gerado por CopySpider Software 2024-09-19 21:57:07</p><p>=================================================================================</p><p>Arquivo 1: ATIVIDADE PRATICA - JOAO PAULO - PROGRAMAÇÃO.docx (1571 termos)</p><p>Arquivo 2:</p><p>https://www.bing.com/ck/a?!&&p=163159e8309955d9JmltdHM9MTcyNjcwNDAwMCZpZ3VpZD0wOTYxNGI2</p><p>Ni1hMmY5LTZlNTgtMTU5YS01ZTY2YTNmODZmZjMmaW5zaWQ9NTE2OA&ptn=3&ver=2&hsh=3&fclid</p><p>=09614b66-a2f9-6e58-159a-</p><p>5e66a3f86ff3&u=a1aHR0cHM6Ly93d3cuc3R1ZG9jdS5jb20vcHQtYnIvZG9jdW1lbnQvYW5oYW5ndWVyYS1lZ</p><p>HVjYXRpb25hbC9kZXNlbmhvLXRlY25pY28vcm90ZWlyby1hdWxhLXByYXRpY2EtZGVzZW5oby10ZWNuaW</p><p>NvLXByb2pldGl2by85MjAyNzY4NA&ntb=1 (8 termos)</p><p>Termos comuns: 0</p><p>Similaridade: 0,00%</p><p>OtextoabaixoéoconteúdododocumentoATIVIDADEPRATICA-JOAOPAULO- PROGRAMAÇÃO.docx</p><p>(1571 termos)</p><p>Os termos em vermelho foram encontrados no documento</p><p>https://www.bing.com/ck/a?!&&p=163159e8309955d9JmltdHM9MTcyNjcwNDAwMCZpZ3VpZD0wOTYxNGI2</p><p>Ni1hMmY5LTZlNTgtMTU5YS01ZTY2YTNmODZmZjMmaW5zaWQ9NTE2OA&ptn=3&ver=2&hsh=3&fclid</p><p>=09614b66-a2f9-6e58-159a-</p><p>5e66a3f86ff3&u=a1aHR0cHM6Ly93d3cuc3R1ZG9jdS5jb20vcHQtYnIvZG9jdW1lbnQvYW5oYW5ndWVyYS1lZ</p><p>HVjYXRpb25hbC9kZXNlbmhvLXRlY25pY28vcm90ZWlyby1hdWxhLXByYXRpY2EtZGVzZW5oby10ZWNuaW</p><p>NvLXByb2pldGl2by85MjAyNzY4NA&ntb=1 (8 termos)</p><p>=================================================================================</p><p>15</p><p>FACULDADE ANHANGUERA</p><p>SistemadeEnsino100%ON LINE</p><p>curso</p><p>JOÃO PAULO FERREIRA DA CRUZ NUNES MACHADO</p><p>https://copyspider.com.br/</p><p>https://copyspider.com.br/</p><p>https://www.bing.com/ck/a?!&&p=163159e8309955d9JmltdHM9MTcyNjcwNDAwMCZpZ3VpZD0wOTYxNGI2Ni1hMmY5LTZlNTgtMTU5YS01ZTY2YTNmODZmZjMmaW5zaWQ9NTE2OA&ptn=3&ver=2&hsh=3&fclid=09614b66-a2f9-6e58-159a-5e66a3f86ff3&u=a1aHR0cHM6Ly93d3cuc3R1ZG9jdS5jb20vcHQtYnIvZG9jdW1lbnQvYW5oYW5ndWVyYS1lZHVjYXRpb25hbC9kZXNlbmhvLXRlY25pY28vcm90ZWlyby1hdWxhLXByYXRpY2EtZGVzZW5oby10ZWNuaWNvLXByb2pldGl2by85MjAyNzY4NA&ntb=1</p><p>https://www.bing.com/ck/a?!&&p=163159e8309955d9JmltdHM9MTcyNjcwNDAwMCZpZ3VpZD0wOTYxNGI2Ni1hMmY5LTZlNTgtMTU5YS01ZTY2YTNmODZmZjMmaW5zaWQ9NTE2OA&ptn=3&ver=2&hsh=3&fclid=09614b66-a2f9-6e58-159a-5e66a3f86ff3&u=a1aHR0cHM6Ly93d3cuc3R1ZG9jdS5jb20vcHQtYnIvZG9jdW1lbnQvYW5oYW5ndWVyYS1lZHVjYXRpb25hbC9kZXNlbmhvLXRlY25pY28vcm90ZWlyby1hdWxhLXByYXRpY2EtZGVzZW5oby10ZWNuaWNvLXByb2pldGl2by85MjAyNzY4NA&ntb=1</p><p>https://www.bing.com/ck/a?!&&p=163159e8309955d9JmltdHM9MTcyNjcwNDAwMCZpZ3VpZD0wOTYxNGI2Ni1hMmY5LTZlNTgtMTU5YS01ZTY2YTNmODZmZjMmaW5zaWQ9NTE2OA&ptn=3&ver=2&hsh=3&fclid=09614b66-a2f9-6e58-159a-5e66a3f86ff3&u=a1aHR0cHM6Ly93d3cuc3R1ZG9jdS5jb20vcHQtYnIvZG9jdW1lbnQvYW5oYW5ndWVyYS1lZHVjYXRpb25hbC9kZXNlbmhvLXRlY25pY28vcm90ZWlyby1hdWxhLXByYXRpY2EtZGVzZW5oby10ZWNuaWNvLXByb2pldGl2by85MjAyNzY4NA&ntb=1</p><p>https://www.bing.com/ck/a?!&&p=163159e8309955d9JmltdHM9MTcyNjcwNDAwMCZpZ3VpZD0wOTYxNGI2Ni1hMmY5LTZlNTgtMTU5YS01ZTY2YTNmODZmZjMmaW5zaWQ9NTE2OA&ptn=3&ver=2&hsh=3&fclid=09614b66-a2f9-6e58-159a-5e66a3f86ff3&u=a1aHR0cHM6Ly93d3cuc3R1ZG9jdS5jb20vcHQtYnIvZG9jdW1lbnQvYW5oYW5ndWVyYS1lZHVjYXRpb25hbC9kZXNlbmhvLXRlY25pY28vcm90ZWlyby1hdWxhLXByYXRpY2EtZGVzZW5oby10ZWNuaWNvLXByb2pldGl2by85MjAyNzY4NA&ntb=1</p><p>https://www.bing.com/ck/a?!&&p=163159e8309955d9JmltdHM9MTcyNjcwNDAwMCZpZ3VpZD0wOTYxNGI2Ni1hMmY5LTZlNTgtMTU5YS01ZTY2YTNmODZmZjMmaW5zaWQ9NTE2OA&ptn=3&ver=2&hsh=3&fclid=09614b66-a2f9-6e58-159a-5e66a3f86ff3&u=a1aHR0cHM6Ly93d3cuc3R1ZG9jdS5jb20vcHQtYnIvZG9jdW1lbnQvYW5oYW5ndWVyYS1lZHVjYXRpb25hbC9kZXNlbmhvLXRlY25pY28vcm90ZWlyby1hdWxhLXByYXRpY2EtZGVzZW5oby10ZWNuaWNvLXByb2pldGl2by85MjAyNzY4NA&ntb=1</p><p>https://www.bing.com/ck/a?!&&p=163159e8309955d9JmltdHM9MTcyNjcwNDAwMCZpZ3VpZD0wOTYxNGI2Ni1hMmY5LTZlNTgtMTU5YS01ZTY2YTNmODZmZjMmaW5zaWQ9NTE2OA&ptn=3&ver=2&hsh=3&fclid=09614b66-a2f9-6e58-159a-5e66a3f86ff3&u=a1aHR0cHM6Ly93d3cuc3R1ZG9jdS5jb20vcHQtYnIvZG9jdW1lbnQvYW5oYW5ndWVyYS1lZHVjYXRpb25hbC9kZXNlbmhvLXRlY25pY28vcm90ZWlyby1hdWxhLXByYXRpY2EtZGVzZW5oby10ZWNuaWNvLXByb2pldGl2by85MjAyNzY4NA&ntb=1</p><p>https://www.bing.com/ck/a?!&&p=163159e8309955d9JmltdHM9MTcyNjcwNDAwMCZpZ3VpZD0wOTYxNGI2Ni1hMmY5LTZlNTgtMTU5YS01ZTY2YTNmODZmZjMmaW5zaWQ9NTE2OA&ptn=3&ver=2&hsh=3&fclid=09614b66-a2f9-6e58-159a-5e66a3f86ff3&u=a1aHR0cHM6Ly93d3cuc3R1ZG9jdS5jb20vcHQtYnIvZG9jdW1lbnQvYW5oYW5ndWVyYS1lZHVjYXRpb25hbC9kZXNlbmhvLXRlY25pY28vcm90ZWlyby1hdWxhLXByYXRpY2EtZGVzZW5oby10ZWNuaWNvLXByb2pldGl2by85MjAyNzY4NA&ntb=1</p><p>https://www.bing.com/ck/a?!&&p=163159e8309955d9JmltdHM9MTcyNjcwNDAwMCZpZ3VpZD0wOTYxNGI2Ni1hMmY5LTZlNTgtMTU5YS01ZTY2YTNmODZmZjMmaW5zaWQ9NTE2OA&ptn=3&ver=2&hsh=3&fclid=09614b66-a2f9-6e58-159a-5e66a3f86ff3&u=a1aHR0cHM6Ly93d3cuc3R1ZG9jdS5jb20vcHQtYnIvZG9jdW1lbnQvYW5oYW5ndWVyYS1lZHVjYXRpb25hbC9kZXNlbmhvLXRlY25pY28vcm90ZWlyby1hdWxhLXByYXRpY2EtZGVzZW5oby10ZWNuaWNvLXByb2pldGl2by85MjAyNzY4NA&ntb=1</p><p>https://www.bing.com/ck/a?!&&p=163159e8309955d9JmltdHM9MTcyNjcwNDAwMCZpZ3VpZD0wOTYxNGI2Ni1hMmY5LTZlNTgtMTU5YS01ZTY2YTNmODZmZjMmaW5zaWQ9NTE2OA&ptn=3&ver=2&hsh=3&fclid=09614b66-a2f9-6e58-159a-5e66a3f86ff3&u=a1aHR0cHM6Ly93d3cuc3R1ZG9jdS5jb20vcHQtYnIvZG9jdW1lbnQvYW5oYW5ndWVyYS1lZHVjYXRpb25hbC9kZXNlbmhvLXRlY25pY28vcm90ZWlyby1hdWxhLXByYXRpY2EtZGVzZW5oby10ZWNuaWNvLXByb2pldGl2by85MjAyNzY4NA&ntb=1</p>