Dashboard com funções CRUD e de autenticação para cadastro e login de usuários. Sistema tem como objetivo gerenciar a parte administrativa de uma aplicação web.
- Spring Boot
- Spring Web MVC
- Thymeleaf
- Spring Data JPA
- Bean Validation
- Spring Boot Devtools
- Lombok
- MapStruct
- Java 17
- Maven 3.8
Clone este repositório e entre na pasta do projeto.
git clone https://github.com/CleysonPH/e-diaristas-spring.git
cd e-diaristas-spring
Atualize as configurações de acesso ao banco de dados no arquivo application.properties.
spring.datasource.url=jdbc:mysql://host:porta/banco_de_dados
spring.datasource.username=usuario
spring.datasource.password=senha
Execute o projeto através do Maven.
mvn spring-boot:run
Acesse a aplicação em http://localhost:8080/admin/servicos.
- representação da tabela
servico
no banco de dados - classe
POJO
tradicional - sem lógica de negócio, apenas argumentos
- informar que é uma tabela de dados
@Entity
- usar
LOMBOK
para criar getters, setters etc - métodos
equals
,hashcode
etoString
devem usar apenas oid
da classe - por isso temos annotations diferentes que incluem apenas o
id
- o
id
terá a annotation de@GeneratedValue
com estratégia deidentity
pois será gerado automaticamente pelo bando de dados
mvn spring-boot:run
vai criar a tabela servico
no banco de dados ediaristas
conectado à aplicação
- métodos crud
- deve ficar com a responsabilidade apenas de web -> requisição e resposta
- controla qual view vai ser renderizada e quais dados vão ser renderizados por aquela view
- qualquer outra coisa de responsabilidade deve ser extraída para outra camada (exemplo
service
)
- irá presentar os dados que vão ser trafegados na aplicação
- uma ótima classe para inserir as validações
- exemplo
ServicoForm.java
tem as propriedades / atributos do formulário de serviço
- responsável por fazer a conversão entre a camada de
DTO
e a camada deentidade
(e vice-versa) bean spring
-> classe gerenciada pelo Spring, possibilitando acessar ela através de injeção de dependência- usar o
@Component
- é um
bean spring
@Service - fazer a comunicação com o
repository
e com omapper
- estende a interface
JpaRepository
e dita os tipos<T, ID>
, sendoT
o model do tipoServico
e oid
do tipoLong
, fincando:<Servico, Long>