Criação e Configuração do Projeto
Criação do Projeto
Clique no menu:
File > New > Spring Starter Project
Preencha conforme os dados a seguir:
Name: | stasks |
---|---|
Type: | Maven |
Packaging: | War |
Java Version: | 1.8 |
Language: | Java |
Group: | com.eprogramar |
Artifact: | etasks |
Version: | 1.0 |
Description: | Projeto e-Tasks treinamento e-Programar |
Package: | com.example.etasks |
Clique e Next >
Na proxima tela seleciona Boot Version: 1.4.0
Selecione as Dependencias:
- Web
- Thymeleaf
- JPA
- MySQL
- DevTools
É possivel usar o imput "Type to search dependencies" para filtar as depencias desejadas pelo nome.
Clique e Next > depois em Finish
Aguarde até que todas as dependencias sejam baixadas e o projeto seja criado.
Este processo pode demorar alguns minutos dependendo da sua internet.
Após o processo de criação a estrutura do Projeto deve estar conforme a imagem a seguir:
Criado o primeiro Controller
- Crie um package chamado: com.example.etasks.controllers
Clique de direita em: src/main/java
New > Package
- Crie uma classe chamada: IndexController
Clique de direita no package controllers
New > Class
package com.example.etasks.controllers;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
@Controller
@RequestMapping("/")
public class IndexController {
@RequestMapping
public String index(){
return "index";
}
Este Controller está criando um mapeamento de uma url "/" para um arquivo index.html
Quando algum usuário acessa a url "/" será exibido para ele a pagina index.html. Dessa forma nenhum usuário nunca conseguirá acessa um html simplesmente digitando o nome do html no browse, sempre terá que passar por um Controller que irá direcionar para um html.
Agora precisamo criar este index.html que deve ser criado na pasta templates que está dentro de src/main/resources
Clique de direita em templates
New > File
<!DOCTYPE html>
<html lang="pt" xmlns="http://www.w3.org/1999/xhtml"
xmlns:th="http://www.thymeleaf.org"
xmlns:layout="http://www.ultraq.net.nz/thymeleaf/layout">
<head>
<title>e-Tasks</title>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
</head>
<body>
<h1>e-Tasks</h1>
</body>
</html>
Perceba que dentro da tag html existe alguns atributos, Estamos configurando este html para trabalhar com Thymeleaf que será nosso tempalte engine. Atenção: Para quem conhece um pouco de Java Web, o Thymeleaf faz o papel do JSP, com algumas vantagens e projetos criado pelo Spring Boot como o nosso já vem com a estrutura pronta.
Para rodar o projeto,
Clique de direita no projeto > Run As > Spring Boot App
Neste momento a View Console vai exibir um ERRO:
Podemos ver no erro que está faltando configurar o Database, Isso porque quando estavamos criando o projeto selecionamos a dependencia JPA e MySQL, Então ele está procurando por configurações do Database.
Essa configuração pode ser feita através do arquivo: application.properties
que está dentro de src/main/resources
spring.datasource.url=jdbc:mysql://localhost/etasks
spring.datasource.username=root
spring.datasource.password=root
spring.datasource.driver-class-name=com.mysql.jdbc.Driver
spring.jpa.hibernate.ddl-auto=update
Perceba que nas configuração estamos dizendo que nosso bando de dados se chama *stasks, O username é root e a senha root
Atenção: Caso o usuário e senha do seu MySQL estiver diferente altere as configurações conforme seus dados.
Precisamos criar o Banco de Dados, Em um Console MySQL digite:
CREATE DATABASE etasks CHARACTER SET utf8 COLLATE utf8_bin;
Rodando o Projeto agora podemos ver no Console que a aplicação está rodando na porta 8080
Para acessar a aplicação basta acessa o browser: http://localhost:8080
Pra finalizar a configuração inicial do Projeto, vamos adicionar uma linha no arquivo: application.properties
adicione na primeira linha:
server.context-path=/etasks
o arquivo deve ficar assim:
server.context-path=/etasks
spring.datasource.url=jdbc:mysql://localhost/etasks
spring.datasource.username=root
spring.datasource.password=root
spring.datasource.driver-class-name=com.mysql.jdbc.Driver
spring.jpa.hibernate.ddl-auto=update
Com essa linha nossa aplicação será acessada através da url http://localhost:8080/etasks/