{"id":18790630,"url":"https://github.com/gahbr/spring-project","last_synced_at":"2026-04-29T16:34:19.165Z","repository":{"id":37543015,"uuid":"505933585","full_name":"Gahbr/spring-project","owner":"Gahbr","description":"Projeto Java spring","archived":false,"fork":false,"pushed_at":"2022-06-21T17:03:39.000Z","size":62,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-05-21T13:56:30.106Z","etag":null,"topics":["java","jpa","spring","spring-boot","study-project"],"latest_commit_sha":null,"homepage":"","language":"Java","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Gahbr.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2022-06-21T17:02:33.000Z","updated_at":"2022-06-21T17:05:19.000Z","dependencies_parsed_at":"2022-08-26T15:10:44.622Z","dependency_job_id":null,"html_url":"https://github.com/Gahbr/spring-project","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/Gahbr/spring-project","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Gahbr%2Fspring-project","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Gahbr%2Fspring-project/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Gahbr%2Fspring-project/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Gahbr%2Fspring-project/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Gahbr","download_url":"https://codeload.github.com/Gahbr/spring-project/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Gahbr%2Fspring-project/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":273868149,"owners_count":25182423,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-09-06T02:00:13.247Z","response_time":2576,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["java","jpa","spring","spring-boot","study-project"],"created_at":"2024-11-07T21:13:05.114Z","updated_at":"2026-04-29T16:34:19.118Z","avatar_url":"https://github.com/Gahbr.png","language":"Java","funding_links":[],"categories":[],"sub_categories":[],"readme":"# ![DevSuperior logo](https://raw.githubusercontent.com/devsuperior/bds-assets/main/ds/devsuperior-logo-small.png) Seu primeiro projeto Java Web no Spring Boot 2022\n\u003e  Veja como é simples construir uma API REST com banco de dados usando Java e Spring Boot \n\n## Realização\n[DevSuperior - Escola de programação](https://devsuperior.com.br)\n\n[![DevSuperior no Instagram](https://raw.githubusercontent.com/devsuperior/bds-assets/main/ds/ig-icon.png)](https://instagram.com/devsuperior.ig)\n[![DevSuperior no Youtube](https://raw.githubusercontent.com/devsuperior/bds-assets/main/ds/yt-icon.png)](https://youtube.com/devsuperior)\n\n### Pré-requisitos\n\n- Lógica de programação (qualquer linguagem)\n- Programação orientada a objetos (qualquer linguagem)\n- Ferramentas\n  - Spring Tool Suite (STS)\n  - Postman\n\n### Objetivos da aula\n\n- Resgatar fundamentos de programação\n- Colocar em prática esses fundamentos\n- Criar um pequeno sistema com ferramentas e práticas de mercado\n- Dar mais um passo em direção à preparação para o mercado\n\n### Visão geral do sistema\n\nVamos construir um pequeno sistema (API REST) de usuários e departamentos, com os seguintes casos de uso:\n\n- Buscar todos usuários\n- Buscar um usuário pelo seu id\n- Inserir um novo usuário\n\n![Image](https://raw.githubusercontent.com/devsuperior/java-web-spring-2022/main/img/dominio.png \"Modelo conceitual\")\n\n### Desenvolvimento moderno: relacional -\u003e objeto -\u003e json\n\n![Image](https://raw.githubusercontent.com/devsuperior/java-web-spring-2022/main/img/objetos.png \"Objetos\")\n\n### Passos da aula\n\n- Criar o projeto\n- Implementar o modelo de domínio\n- Mapeamento objeto-relacional com JPA\n- Configurar o banco de dados H2\n- Criar os endpoints da API REST\n\n### Trechos de código para copiar\n\n#### Configuração do Maven Resources Plugin\n\n```xml\n\u003cplugin\u003e\n\t\u003cgroupId\u003eorg.apache.maven.plugins\u003c/groupId\u003e\n\t\u003cartifactId\u003emaven-resources-plugin\u003c/artifactId\u003e\n\t\u003cversion\u003e3.1.0\u003c/version\u003e\n\u003c/plugin\u003e\n```\n\n#### Configurações do banco de dados\n\n```\n# Dados de conexão com o banco H2\nspring.datasource.url=jdbc:h2:mem:testdb\nspring.datasource.username=sa\nspring.datasource.password=\n\n# Configuração do cliente web do banco H2\nspring.h2.console.enabled=true\nspring.h2.console.path=/h2-console\n\n# Configuração para mostrar o SQL no console\nspring.jpa.show-sql=true\nspring.jpa.properties.hibernate.format_sql=true\n```\n\n#### Script SQL\n\n```sql\nINSERT INTO tb_department(name) VALUES ('Gestão');\nINSERT INTO tb_department(name) VALUES ('Informática');\n\nINSERT INTO tb_user(department_id, name, email) VALUES (1, 'Maria', 'maria@gmail.com');\nINSERT INTO tb_user(department_id, name, email) VALUES (1, 'Bob', 'bob@gmail.com');\nINSERT INTO tb_user(department_id, name, email) VALUES (2, 'Alex', 'alex@gmail.com');\nINSERT INTO tb_user(department_id, name, email) VALUES (2, 'Ana', 'ana@gmail.com');\n```\n#### Collection Postman\n\nhttps://www.getpostman.com/collections/ac4a49113c4024e47d4f\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgahbr%2Fspring-project","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fgahbr%2Fspring-project","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgahbr%2Fspring-project/lists"}