Assumindo que você já preparou o ambiente, vá até o Spring Initializr e gere um projeto com os parâmetros da imagem abaixo:
Algumas considerações sobre as dependências:
- Vou utilizar MongoDB no projeto, pois creio que faz mais sentido dado ao tipo de dado que iremos produzir. É possível utilizar um banco relacional, também. Sinta-se à vontade;
- Ainda não vou mexer com Spring Security, pois o foco agora é a solução de negócio. No futuro, vamos trabalhar a parte de autenticação. Se você domina o Spring Security, sinta-se à vontade para decidir baixar isso agora ou não;
- Muita gente gosta de usar Lombok para a gestão de getters e setters. Particularmente, não gosto e não vou usar. Sinta-se livre para fazer a sua escolha;
- Também não está no escopo atual do projeto lidar com Cloud, conteinerização, orquestração, rastreamento, observabilidade e outras coisas relacionadas a infraestrutura e SRE, por isso não estou baixando nada relativo a esses assuntos. Mais uma vez, sinta-se à vontade para montar a stack que você se sentir confortável.
Uma vez o projeto baixado, unzipado, dependências instaladas e com o "Hello World" rodado, crie os pacotes abaixo:
Se você estiver atento, se lembrará que essas pastas estão batendo com o nosso desenho arquitetural feito em um capítulo anterior, exceto pelo "View", que é o front-end e ainda não trararemos.
Sendo assim, podemos relembrar a utilidade de cada pacote:
- Model: onde criaremos os nossos modelos, ou classes de objetos;
- Repository: onde ficará a nossa interface com o banco de dados (leia sobre padrão ODM)
- Service: onde ficará nossa lógica de negócio, como a geração da tabela e agendamento de jogos, além das validações de dados de entrada e saída;
- Controller: onde cuidaremos dos endpoints (ou rotas, URLs, URIs, links) de requisição e resposta. É o que chamamos informalmente de API.
No próximo texto tem código. Eu juro! :)
Prosseguimos!
Top comments (0)