Projeto educacional do curso Intensivão Java Spring da DevSuperior, com documentação completa de fundamentos e conceitos avançados de Java.
- Visão Geral
- Status do Repositório
- Estrutura do Projeto
- Documentações Criadas
- Tecnologias Utilizadas
- Como Usar
Este repositório contém:
- Código-fonte: Aplicação Spring Boot para gerenciamento de lista de games
- Documentação educacional: Guias completos sobre fundamentos e conceitos avançados de Java
- Exemplos práticos: Implementações de padrões de design e boas práticas
Fornecer uma base sólida no desenvolvimento Java com Spring Boot, incluindo:
- Conceitos fundamentais de Java
- Princípios SOLID e Design Patterns
- Práticas recomendadas de desenvolvimento
- Implementação de API RESTful
Branch Atual: master
Status: Sincronizado com origin/master
Arquivo: Sem mudanças não commitadas ✅
| Commit | Mensagem | Branch |
|---|---|---|
| 25d614d | Add anotation Lombok and new Class | HEAD -> master, origin/master |
| 17efc5a | Add comment and ajust | - |
| 10fcbeb | move gameList | - |
| f726bad | Config cors | - |
| 712e4d5 | Homolog | - |
Docs/- Nova pasta com documentações criadas
DevSuperiorIntesivaoJavaSpring/
├── src/
│ ├── main/
│ │ ├── java/com/devsuperior/dslist/
│ │ │ ├── DslistApplication.java
│ │ │ ├── config/
│ │ │ │ └── WebConfig.java
│ │ │ ├── controllers/
│ │ │ │ ├── GameController.java
│ │ │ │ └── GameListController.java
│ │ │ ├── dto/
│ │ │ │ ├── GameDTO.java
│ │ │ │ ├── GameListDTO.java
│ │ │ │ ├── GameMinDTO.java
│ │ │ │ └── ReplacementDTO.java
│ │ │ ├── entities/
│ │ │ │ ├── Belonging.java
│ │ │ │ ├── BelongingPK.java
│ │ │ │ ├── Game.java
│ │ │ │ └── GameList.java
│ │ │ ├── projections/
│ │ │ │ └── GameMinProjection.java
│ │ │ ├── repositories/
│ │ │ │ ├── GameListRepository.java
│ │ │ │ └── GameRepository.java
│ │ │ └── services/
│ │ │ ├── GameListService.java
│ │ │ └── GameService.java
│ │ └── resources/
│ │ ├── application.properties
│ │ ├── application-dev.properties
│ │ ├── application-prod.properties
│ │ ├── application-test.properties
│ │ └── import.sql
│ └── test/
│ └── java/com/devsuperior/dslist/
│ └── DslistApplicationTests.java
├── Docs/
│ ├── Fundamentos/
│ │ └── JAVA_FUNDAMENTOS.md
│ └── Conceitos/
│ └── JAVA_CONCEITOS.md
├── Fundamentos/
├── Conceitos/
├── pom.xml
├── mvnw
├── mvnw.cmd
├── system.properties
└── README.md (este arquivo)
Arquivo: Docs/Fundamentos/JAVA_FUNDAMENTOS.md
Documentação completa cobrindo os fundamentos essenciais de Java:
- ✅ Tipos de dados e classes wrapper
- ✅ Variáveis e constantes
- ✅ Operadores (aritméticos, lógicos, relacionais)
- ✅ Estruturas de controle (if-else, switch, loops)
- ✅ Arrays e manipulação de strings
- ✅ Conceitos de Orientação a Objetos
- Classes e objetos
- Encapsulamento
- Herança
- Polimorfismo
- Interfaces
- Classes abstratas
- ✅ Collections (List, Set, Map)
- ✅ Tratamento de exceções
- ✅ Lambdas (Java 8+)
- ✅ Streams
Público-alvo: Iniciantes em Java e programadores que desejam revisar conceitos fundamentais.
Arquivo: Docs/Conceitos/JAVA_CONCEITOS.md
Documentação detalhada sobre conceitos avançados e boas práticas:
-
✅ Princípios SOLID
- Single Responsibility Principle (SRP)
- Open/Closed Principle (OCP)
- Liskov Substitution Principle (LSP)
- Interface Segregation Principle (ISP)
- Dependency Inversion Principle (DIP)
-
✅ Design Patterns
- Singleton
- Factory Method
- Builder Pattern
- Decorator Pattern
- Observer Pattern
-
✅ Generics
-
✅ Reflexão (Reflection)
-
✅ Anotações customizadas
-
✅ Concorrência
- Threads
- Sincronização
- ExecutorService
-
✅ Programação Funcional
- Function, Predicate, Consumer, Supplier
-
✅ Optional
-
✅ Java Time API (java.time)
-
✅ Maven e gerenciamento de dependências
Público-alvo: Desenvolvedores intermediários e avançados que desejam dominar técnicas profissionais de desenvolvimento Java.
- Java 17 - Linguagem de programação principal
- Spring Boot 3.x - Framework para construção de aplicações
- Spring Data JPA - Persistência de dados
- Lombok - Redução de código boilerplate
- Maven - Gerenciamento de dependências
- H2 Database - Para desenvolvimento e testes
- PostgreSQL - Para produção
- JUnit 5 - Framework de testes unitários
- Java 17 ou superior
- Maven 3.8 ou superior
- Gitgit clone https://github.com/gabrielsalesdavid/DevSuperiorIntesivaoJavaSpring.git
cd DevSuperiorIntesivaoJavaSpringmvn clean install# Desenvolvimento (H2 Database)
mvn spring-boot:run
# Produção (PostgreSQL)
mvn spring-boot:run -Dspring-boot.run.arguments="--spring.profiles.active=prod"mvn test- Início: Comece pelos tipos de dados
- Progressão: Siga para estruturas de controle e arrays
- OOP: Aprenda os conceitos de orientação a objetos
- Avançado: Explore Collections, Exceções e Streams
- Preparação: Revise os fundamentos se necessário
- SOLID: Comece pelos princípios de design
- Padrões: Estude os Design Patterns
- Avançado: Aprofunde em Generics, Reflexão e Concorrência
Através deste repositório, você aprenderá:
- ✅ Desenvolvimento de APIs RESTful com Spring Boot
- ✅ Arquitetura em camadas (Controller, Service, Repository)
- ✅ Mapeamento relacional (JPA/Hibernate)
- ✅ Validação de dados e tratamento de erros
- ✅ Testes unitários com JUnit
- ✅ Versionamento com Git
- ✅ SOLID Principles
- ✅ Design Patterns
- ✅ Clean Code
- ✅ Boas práticas de desenvolvimento
- ✅ Padrões de API REST
✨ Docs/Fundamentos/JAVA_FUNDAMENTOS.md
✨ Docs/Conceitos/JAVA_CONCEITOS.md
✨ README.md (este arquivo)
Branch: master
Sincronismo: ✅ Atualizado com origin/master
Mudanças pendentes: Docs/ (nova pasta)
Gabriel Sales David
Repositório: DevSuperiorIntesivaoJavaSpring
Este projeto é fornecido como material educacional pelo curso DevSuperior.
- Leia o código-fonte: Estude as implementações no diretório
src/main/java - Experimente: Crie suas próprias classes e teste os conceitos
- Execute os testes: Veja como o código é testado
- Refatore: Tente aplicar os padrões de design ao seu código
- Documente: Adicione comentários ao seu código explicando o "porquê"
Última atualização: 13 de janeiro de 2026