Projeto template com algumas configurações comuns já feitas e autenticação JWT implementada para ser usado como base em outros projetos
- Java 21+
- Maven 3.9.6+
- No
application.yml:- Altere com o nome da aplicação e as credenciais do banco:
spring: application: name: application-name datasource: url: url_db username: user_db password: password_db driver-class-name: driver_db
- Execute o script da pasta
src/main/resources/db/migrationpara inicialização do banco de dados - Altere o
context-pathpara um relacionado ao da sua aplicação. Se necessário, altere também a porta:server: port: ${PORT:8080} servlet: context-path: ${CONTEXT_PATH:/base-url}
- Caso use anexo de arquivos, altere o tamanho dos arquivos anexados, se necessário:
servlet: multipart: enabled: true max-request-size: 50MB max-file-size: 50MB
- Altere as configurações de email, caso queira utilizar, o
JavaEmailSend. Se não usar, pode remover:
mail: host: smtp.gmail.com port: 587 username: noreply@email.com.br password: 12345 protocol: smtp
- Lembrando que o valor do atributo
ddl-autoestávalidate, ou seja, ele valida o mapeamento das entidades de acordo com o que está modelado no banco de dados, é possível alterar paraupdate,create,create-drop, ou até mesmonone.
hibernate: naming: physical-strategy: org.hibernate.boot.model.naming.PhysicalNamingStrategyStandardImpl implicit-strategy: org.hibernate.boot.model.naming.ImplicitNamingStrategyLegacyJpaImpl ddl-auto: validate
- Caso queira habilitar o
Flywayaltere oenabledparatruee coloque os scripts de migração no caminhoclasspath:db/migrationou renomeie esse caminho para uma de sua preferência:
Lembrando que noflyway: enabled: false locations: classpath:db/migration
Flywayos scripts devem estar nomeados da seguinte forma:V1.01__sua_alteracao.sql. Exemplo:V1.01__update_table_usuario.sql. - Altere com o nome da aplicação e as credenciais do banco:
- Renomeie o package
br.com.project.spring.starter.template.apiparabr.com.nomesuaaplicacao.api, tanto no/src/main/javaquanto no/src/test/java - Renomeie o arquivo
ProjectTemplateApiApplicationeProjectTemplateApiApplicationTestsparaNomeSuaAplicacaoApiApplicationeNomeSuaAplicacaoApiApplicationTests - No
pom.xml, altere o<groupId>,<name>e<description>, para algo correspondente a sua aplicação:
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>br.com.project.spring.starter.template</groupId>
<artifactId>api</artifactId>
<version>0.0.1-SNAPSHOT</version>
<name>spring-starter-template-api</name>
<description>Spring Starter Template: Template Project</description>
</project>Depois de concluídas as configurações, rode o projeto com:
mvn clean install -DskipTests spring-boot:runVocê pode verificar o checkstyle e manter o padrão de formatação do seu código através do comando:
mvn checkstyle:checkContribuições são bem-vindas! Sinta-se à vontade para abrir uma pull request para propor melhorias ou correções.