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/migration
para inicialização do banco de dados - Altere o
context-path
para 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-auto
está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
Flyway
altere oenabled
paratrue
e coloque os scripts de migração no caminhoclasspath:db/migration
ou renomeie esse caminho para uma de sua preferência:
Lembrando que noflyway: enabled: false locations: classpath:db/migration
Flyway
os 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.api
parabr.com.nomesuaaplicacao.api
, tanto no/src/main/java
quanto no/src/test/java
- Renomeie o arquivo
ProjectTemplateApiApplication
eProjectTemplateApiApplicationTests
paraNomeSuaAplicacaoApiApplication
eNomeSuaAplicacaoApiApplicationTests
- 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:run
Você pode verificar o checkstyle e manter o padrão de formatação do seu código através do comando:
mvn checkstyle:check
Contribuições são bem-vindas! Sinta-se à vontade para abrir uma pull request para propor melhorias ou correções.