Logo Passei Direto
Buscar
Material
páginas com resultados encontrados.
páginas com resultados encontrados.
left-side-bubbles-backgroundright-side-bubbles-background

Crie sua conta grátis para liberar esse material. 🤩

Já tem uma conta?

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

left-side-bubbles-backgroundright-side-bubbles-background

Crie sua conta grátis para liberar esse material. 🤩

Já tem uma conta?

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

left-side-bubbles-backgroundright-side-bubbles-background

Crie sua conta grátis para liberar esse material. 🤩

Já tem uma conta?

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

left-side-bubbles-backgroundright-side-bubbles-background

Crie sua conta grátis para liberar esse material. 🤩

Já tem uma conta?

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

left-side-bubbles-backgroundright-side-bubbles-background

Crie sua conta grátis para liberar esse material. 🤩

Já tem uma conta?

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

left-side-bubbles-backgroundright-side-bubbles-background

Crie sua conta grátis para liberar esse material. 🤩

Já tem uma conta?

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

left-side-bubbles-backgroundright-side-bubbles-background

Crie sua conta grátis para liberar esse material. 🤩

Já tem uma conta?

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

left-side-bubbles-backgroundright-side-bubbles-background

Crie sua conta grátis para liberar esse material. 🤩

Já tem uma conta?

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

left-side-bubbles-backgroundright-side-bubbles-background

Crie sua conta grátis para liberar esse material. 🤩

Já tem uma conta?

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

left-side-bubbles-backgroundright-side-bubbles-background

Crie sua conta grátis para liberar esse material. 🤩

Já tem uma conta?

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

Prévia do material em texto

Professor: Marlon Silva Ferreira
E-mail: marlon.ufpe@gmail.com
Spring Boot
■ Spring é um framework java open source criado pela 
Pivotal
■ Surge para facilitar o desenvolvimento de aplicações 
corporativas
■ O Spring framework foi criado devido os problemas que 
os desenvolvedores java enfrentavam ao criar uma 
aplicação corporativa J2EE
■ Ao longo do tempo, a ferramenta foi evoluindo, 
melhorando problemas e estabelecendo padrões de 
construção
Introdução - O que é o Spring Boot?
■ Em abril de 2014, após 18 meses de desenvolvimento, 
testes e amadurecimento, a Pivotal entrega o Spring 
Boot 1.0
■ Hoje, a última versão estável em produção é a 2.2.4 e 
necessita no mínimo do Java 8.
■ O spring boot foi baseado no conceito convenção sobre 
configuração, portanto é necessário apenas selecionar 
quais módulos serão utilizados no projeto.
■ O spring boot faz toda a magia, deixando tudo 
configurado, com um servidor tomcat embarcado.
■ Há a possibilidade de customizar o que for necessário 
posteriormente.
Introdução - O que é o Spring Boot?
O Spring boot consegue fazer tudo isso, devido seus 
três pilares, são eles o Spring Boot Starter, Spring Boot 
AutoConfigurator e Spring Boot Actuator.
Spring Boot Starter
■ O Spring Boot Starter tem o objetivo de associar 
diversas dependências em apenas uma, a fim de deixar 
o arquivo pom.xml mais organizado. 
■ Podem ou não haver diversas outras dependências 
dentro das apresentadas anteriormente.
Introdução - O que é o Spring Boot?
Spring Boot AutoConfigurator
■ O Spring Boot AutoConfigurator é o responsável por 
realizar as configurações da aplicação, incluindo as 
anotações necessárias para que a aplicação execute 
corretamente. 
■ Um exemplo é a anotação @SpringBootApplication 
presente na classe de inicialização do projeto.
Introdução - O que é o Spring Boot?
Spring Boot Actuator
■ O Spring Boot Actuator fornece recursos de 
monitoramento, auditoria, healthcheck, provisionamento 
de endpoints, entre outros afazeres.
■ Um exemplo prático é o momento que o 
AutoConfigurator expõe o servidor web no localhost 
porta 8080. 
■ O Spring Boot Actuator que provisiona esta 
configuração no servidor web.
Introdução - O que é o Spring Boot?
fonte: https://www.devjava.com.br/
Para poder usar o IDE do Spring Boot, basta acessar o 
site oficial https://spring.io/
Há três possibilidades de usabilidade do framework em 
IDE’s.
■ No Eclipse
■ No VS Code
■ No Theia
IDE e Framework - Como usar?
Quando usamos o framework Spring Boot, usamos 
algumas ferramentas já embutidas que facilitam a criação 
de aplicações de forma mais facilitada e com menos 
codificação, ou seja, menos “verboso”.
IDE e Framework - Como usar?
Usaremos a versão do Spring para o Eclipse
1. Primeiro baixe do site do Spring.io a versão x64 para 
windows
IDE e Framework - Como usar?
2. Após baixar, clique duas vezes e espere ele 
descompactar a pasta sts-versao.RELEASE
Clique duas vezes, ele irá descompactar
IDE e Framework - Como usar?
Clique duplo
2. Dentro da pasta sts-versao.RELEASE
Clique duas vezes, ele irá abrir o programa
IDE e Framework - Como usar?
Clique duplo!
3. Ao entrar no programa, vá em file>new>Spring Starter 
Project
IDE e Framework - Como usar?
4. Deverá configurar:
a. name = nome do projeto
b. Type = Maven Project
c. Java Version = preferência o 11
d. Packing = Jar
e. Group = br.com.primeiroprojeto
f. package = br.com.primeiroprojeto.webserver
g. o resto pode deixar padrão
IDE e Framework - Como usar?
Vamos por partes:
1. O que fizemos?
a. Quando escolhemos o Maven Project, escolhemos a 
forma de importação das API’s.
2. Qual a função dele?
a. O Maven é uma ferramenta de gerenciamento e 
automação de construção (build) de projetos. 
Entretanto, por fornecer diversas funcionalidades 
adicionais através do uso de plugins e estimular o 
emprego de melhores práticas de organização, 
desenvolvimento e manutenção de projetos, é muito 
mais do que apenas uma ferramenta auxiliar.
IDE e Framework - Apache TomCat
5. Aqui, instalaremos as dependências do Maven 
necessárias para instalarmos um webserver
a. Basta buscar por a depenência DevTools e a Spring 
Web
IDE e Framework - Como usar?
Vamos por partes:
1. O que fizemos?
a. Usamos alguns “starters” para dar algumas 
funcionalidades possíveis do spring boot.Qual a 
função dele?
2. Qual a função dele?
a. É com eles que nós acessamos os famosos API’s, 
que serão responsáveis por facilitar algumas 
implementações de código. Os starters serão 
colocados nas dependências do Maven.
IDE e Framework - Starters
6. Vá aba Boot Dashboard
a. Basta escolher o seu projeto e apertar o primeiro 
botão
IDE e Framework - Como usar?
Vamos por partes:
1. O que fizemos?
a. O próprio Spring Boot tem um botão para acionar a 
montagem do servidor, podendo colocar múltiplos 
servidores em portas diferentes.
IDE e Framework - Como usar?
7. Pronto, seu primeiro webserver está feito, para ver o 
resultado, basta clicar com o botão direito em cima do 
projeto no mesmo Boot Dashboard e ir em Open Web 
Server
IDE e Framework - Como usar?
8. Parabéns! Seu primeiro server não “server” para nada!
IDE e Framework - Como usar?
Agora montaremos uma segunda prática, faremos:
Nesta prática, criaremos um site que irá montar um 
simples formulário para o nome de um usuário, apenas o 
nome e exibir o nome a partir do banco de dados.
1. Primeiro precisamos criar um novo projeto
IDE e Framework - Cadastro de um 
usuário
1. Ao entrar no programa, vá em file>new>Spring Starter 
Project
IDE e Framework - Cadastro de um 
usuário
2. Deverá configurar:
a. name = cadastro
b. Type = Maven Project
c. Java Version = preferência o 11
d. Packing = Jar
e. Group = br.com.cadastro
f. package = br.com.cadastro.webserver
g. o resto pode deixar padrão
IDE e Framework - Cadastro de um 
usuário
IDE e Framework - Cadastro de um 
usuário
3. Deverá chamar os starters:
a. JPA - Basicamente, o JPA ajudará a fazer a injeção 
em banco de dados (salvar os dados no banco, ou 
puxar dele)
b. WEB - Para habilitar o Spring a criar um servidor 
local
c. MySQL - Para poder usar banco de dados baseados 
nessa linguagem de consulta.
d. H2 - API que permite o acesso de um banco dados 
baseado em MySQL, e que será usado para 
persistência do nome do usuário
IDE e Framework - Cadastro de um 
usuário
3. Deverá chamar os starters:
e. Thymeleaf - Responsável de se comunicar com a 
view e poder renderizar as informações do banco 
de dados, além de fazer o caminho inverso, 
transmitir os dados do view para o injetor do banco 
de dados.
f. Dev Tools - Responsável por reiniciar o servidor 
local em caso de salvamento e alterações de 
código.
4. Selecionados os starters, confirme com o finish
IDE e Framework - Cadastro de um 
usuário
5. Após confirmação, essa árvore de pasta será criada
IDE e Framework - Cadastro de um 
usuário
5. O mais importante sobre a árvore de pastas é saber 
sobre:
a. src/main/java - Ficam todas as classes da 
aplicação, desde a responsável por rodar o app, até 
a parte de modelamento de dados, controle de rotas 
e injeção em banco de dados.
b. src/main/resources - Ficam as pastas 
responsáveis pelo View do app, as telas em HTML, 
arquivos de CSS e JS estáticos das telas. Além das 
imagens eventualmente usadas e propriedades de 
configuração do server, como link de comunicação 
com o banco de dados e suas regras
IDE e Framework - Cadastro de um 
usuário
5. O mais importante sobre a árvore de pastas é saber 
sobre:
c. pom.xml - É o arquivo de registro das 
dependências instaladas como Starters com o 
Maven, podendo ser editados para remoção ou 
adição de novas dependências, de acordo com a 
necessidade de mudança.
IDE e Framework - Cadastro de um 
usuário
6. Já conhecendo as pastas, o primeiro passo a se 
realizar é a criação da tela de cadastro, que será 
apenas um input do tipo texto em html, não 
precisaremos do css, mas fique à vontade.
7. Minhatela ficou assim:
IDE e Framework - Cadastro de um 
usuário
IDE e Framework - Cadastro de um 
usuário
7. Minha tela de cadastro de nomes
IDE e Framework - Cadastro de um 
usuário
8. Antes de tudo, teremos que criar a rota da tela no 
servidor, para isso, teremos que criar um novo package
a. Dentro da pasta src/main/java teremos uma pasta 
com a aplicação central do app, chamada de 
nomeDoProjetoApplication.java
IDE e Framework - Cadastro de um 
usuário
8. Antes de tudo, teremos que criar a rota da tela no 
servidor, para isso, teremos que criar um novo package
b. Clique no package dele, vá em new e clique em 
package
IDE e Framework - Cadastro de um 
usuário
8. Antes de tudo, teremos que criar a rota da tela no 
servidor, para isso, teremos que criar um novo package
c. Ao aparecer essa página, devemos modificar o 
package para br.com.primeiroapp.controller
IDE e Framework - Cadastro de um 
usuário
8. Antes de tudo, teremos que criar a rota da tela no 
servidor, para isso, teremos que criar um novo package
d. Como já dito, precisamos criar a rota e ela faz parte 
do que chamamos de controller, que nada mais é 
que a parte de gerenciamento dos “links” que o site 
possui.
e. Dentro do novo package, criaremos uma classe 
chamada Controller.java
IDE e Framework - Cadastro de um 
usuário (Controller)
Criando rotas:
● A rota do servidor que criamos é, por padrão, 
localhost:8080, podendo ser alterado, mas não 
faremos.
● Quando queremos acessar http://localhost:8080/, se 
não tivermos uma rota para o destino “/”, o servidor não 
encontrará a página inicial que criamos
● Para que isso ocorra, essa classe Controller terá que 
retornar um view (tela).
IDE e Framework - Cadastro de um 
usuário (Controller)
Criando rotas:
IDE e Framework - Cadastro de um 
usuário (Controller)
Criando rotas:
IDE e Framework - Cadastro de um 
usuário (Controller)
@Annotations são considerados metadados, ou seja, 
dados sobre dados. Tentando simplificar mais, são 
informações que indicam como cada classe, ou campo de 
código devem ser interpretados pela aplicação. 
Resumidamente, os annotations informam ao 
compilador e a aplicação o que cada classe faz, e para que 
cada método, ou comando especial serve. É uma 
semântica de comunicação para construção da aplicação.
IDE e Framework - Cadastro de um 
usuário (Controller)
Para a construção da tela, informamos quais 
annotations precisamos usar:
1. Primeiro digitamos o @RestController, que informa 
que a classe será considerada como um controlador de 
rotas.
2. Segundo, por fim, usamos o @RequestMapping, que 
informa que tipo de mapeamento queremos usar, no 
nosso caso foi o método GET da verbação do HTTP.
a. Ex: GET, POST, UPDATE, DELETE e PATCH.
IDE e Framework - Cadastro de um 
usuário (Controller)
Além disso, usamos o thymeleaf com a criação de um 
método ModelAndView, no qual queremos linkar nossa 
tela de index.html inicial como a tela inicial do 
localhost:8080/, por isso, ao acessar a porta 8080, de 
cara, teremos a tela criada como tela inicial.
ModelAndView constroem um objeto que será 
montado para direcionar pelo setViewName para a tela do 
index.html.
IDE e Framework - Cadastro de um 
usuário (Model)
Para montar o model, criaremos uma classe que terá 
características do objeto. Ou seja, pensemos sobre o que 
um Usuario possui:
■ ID de identificação 
■ Nome de Usuário
No nosso primeiro exemplo, apenas isso é o 
fundamental.
Logo, tem-se que montar a Classe, que, no exemplo, 
será chamado de Usuario.
IDE e Framework - Cadastro de um 
usuário (Model)
Para montar o model, criaremos um 
IDE e Framework - Cadastro de um 
usuário (Model)
Para montar o model, criaremos um 
1 2
3
IDE e Framework - Cadastro de um 
usuário (Model)
Logo, o model do Usuario deve ter algumas annotations 
que definirão a construção da classe.
■ @Entity cria uma entidade, ou seja, uma tabela no 
banco de dados com o nome da classe, que é Usuario.
■ @Id defino que uma das colunas da tabela será 
chamada id e será uma chave primária
■ @GeneratedValue diz como o id será gerado, Identity é 
um formato de geração, o mais usado.
■ @column cria uma coluna chamada nome, 
 
IDE e Framework - Cadastro de um 
usuário (Model)
Além da Classe, precisamos dos Getters e Setters dela.
IDE e Framework - Cadastro de um 
usuário (Model)
Além da Classe, precisamos dos Getters e Setters dela.
IDE e Framework - Cadastro de um 
usuário (Controller)
1
3
5
2
4
1
IDE e Framework - Cadastro de um 
usuário (Controller)
1. @Autowired - É uma anotação que cria um objeto que 
se comunica diretamente com injetor do repositório 
para poder inserir as informações no banco de dados.
2. @GetMapping é o análogo ao @RequestMapping, só 
que diretamente relacionado ao method GET
3. Agora deve-se adicionar um objeto da Classe do 
MODEL Usuario, para que o mesmo possa ser 
passado para o VIEW do index.html
IDE e Framework - Cadastro de um 
usuário (Controller)
4. @PostMapping é o análogo ao @RequestMapping, 
só que diretamente relacionado ao method POST 
5. Essa anotação (@Valid) serve para indicar que o 
objeto será validado tendo como base as anotações de 
validação que atribuímos aos campos.
IDE e Framework - Cadastro de um 
usuário (View)
IDE e Framework - Cadastro de um 
usuário (View)
1 2
3
4
IDE e Framework - Cadastro de um 
usuário (View)
O Thymeleaf servirá de apoio para transportar os objetos 
do controller (rotas) até o view (a página de exibição de 
dados, formulários, etc.). Para entender como usar a 
sintaxe (conjunto de regras) do Thymeleaf, é necessário 
compreender que:
1. th:action=”@{/cadastrar}”
a. Vai criar um action dentro do form que irá mandar 
para o caminho “/cadastrar”, assim que o botão for 
clicado.
2. O método de verbo HTTP que deve-se usar para 
cadastro é o POST
IDE e Framework - Cadastro de um 
usuário (View)
3. th:object=${usuario} - Cria um objeto da classe 
Usuario e o coloca disponível para renderização no 
VIEW
a. Após criar o objeto de parsing (passagem de 
string), o spring boot permite o uso do objeto no 
corpo do site 
4. O método de verbo HTTP que deve-se usar para 
cadastro é o POST
5. th:field=”*{nome}” - O field serve para ligar o input do 
nome do usuário ao objeto que será enviado ao 
repositório pelo controller. 
IDE e Framework - Cadastro de um 
usuário (DAO - Repository)
1
IDE e Framework - Cadastro de um 
usuário (DAO - Repository)
Outra coisa que precisamos construir é o package 
br.com.primeiro-app.repository. Nele, teremos a injeção 
do repositório no banco de dados, provocando a 
persistência deles no banco de dados do H2.
Para isso usamos uma Classe, geralmente, com o 
mesmo nome da Classe do Model, mas com o acréscimo 
do sufixo Repository. Essa classe é herdeira da 
JpaRepository, que já automatiza os códigos de 
comunicação com o banco de dados.
Agora, o objetivo é criar uma página que será a listagem 
de usuários:
Para isso, temos que criar uma rota de redirecionamento. 
Assim que o botão cadastrar for clicado, o site será 
redirecionado a página de listagem.
IDE e Framework - Cadastro de um 
usuário (DAO - Repository)
IDE e Framework - Cadastro de um 
usuário (Controller)
IDE e Framework - Cadastro de um 
usuário (Controller)
1
2 3
IDE e Framework - Cadastro de um 
usuário (Controller)
1. O primeiro é a rota do controller para o site inicial, como 
já sabemos
2. O segundo é a rota do controller para a confirmação de 
cadastro (pelo botão de cadastrar), ele salva o usuário 
com o comando usuarioRepository.save(usuario) e 
retorna um chamado de redirecionamento 
(redirectView).
3. O terceiro é a rota de listagem dos nomes de usuários, 
uma tabela que será alimentada a cada confirmação de 
cadastro. 
IDE e Framework - Cadastro de um 
usuário (View)
IDE e Framework - Cadastro de um 
usuário (View)
1
3
5
2 4
IDE e Framework - Cadastro de um 
usuário (View)
1. Recebe, do controller, um vetor de objetos chamado 
usuarios,que será todo varrido e a cada item contido 
nele jogará, para cada ocorrência, dentro de uma 
variável usuario e
2. Será colocado o id (usuario.id) num td da tabela
3. E o nome (usuario.nome) do usuário em outro td da 
tabela
4. Criaremos um link que será o encaminhamento para as 
rotas de edição do usuário 
5. E de exclusão do usuário.
 
IDE e Framework - Cadastro de um 
usuário (Controller)
IDE e Framework - Cadastro de um 
usuário (Controller)
1
2
3
1 2
3
IDE e Framework - Cadastro de um 
usuário (Controller)
1. A rota do editar vem com o id do usuário atrelada ao 
link.
2. É no link que a annotation @PathVariable obterá o 
valor do id e poderá usar para achar
3. O usuário na busca do banco de dados, com o 
comando usuarioRepository.findById(id).
 
IDE e Framework - Cadastro de um 
usuário (Controller)
1. A rota do deletar vem com o id do usuário atrelada ao 
link.
2. É no link que a annotation @PathVariable obterá o 
valor do id e poderá usar para achar
3. O usuário na busca do banco de dados e deletá-lo, com 
o comando usuarioRepository.deleteById(id).
 
IDE e Framework - Cadastro de um 
usuário (MVC - Model View 
Controller)
Primeira Aplicação Web Pronta!
 
Professor: Marlon Silva Ferreira
E-mail: marlon.ufpe@gmail.com
Dúvidas?

Mais conteúdos dessa disciplina