Desenvolvimento Web Exemplo de Aplicação Web com Spring ... Exemplo de API co… · Exemplo de...
Transcript of Desenvolvimento Web Exemplo de Aplicação Web com Spring ... Exemplo de API co… · Exemplo de...
![Page 1: Desenvolvimento Web Exemplo de Aplicação Web com Spring ... Exemplo de API co… · Exemplo de Aplicação Web com Spring Boot e Eclipse Spring Boot é um projeto do grupo Spring](https://reader036.fdocumentos.com/reader036/viewer/2022062508/604895f366846d604b6a636e/html5/thumbnails/1.jpg)
Desenvolvimento Web Exemplo de Aplicação Web com Spring Boot e
Eclipse Professor Vicente Paulo de Camargo
![Page 2: Desenvolvimento Web Exemplo de Aplicação Web com Spring ... Exemplo de API co… · Exemplo de Aplicação Web com Spring Boot e Eclipse Spring Boot é um projeto do grupo Spring](https://reader036.fdocumentos.com/reader036/viewer/2022062508/604895f366846d604b6a636e/html5/thumbnails/2.jpg)
Exemplo de Aplicação Web com Spring Boot e Eclipse
Spring Boot é um projeto do grupo Spring quepermite facilitar a configuração e publicação deaplicações.
Com ele o desenvolvedor escolhe os módulosque deseja incluir em um aquivo pom.xml doMaven.
![Page 3: Desenvolvimento Web Exemplo de Aplicação Web com Spring ... Exemplo de API co… · Exemplo de Aplicação Web com Spring Boot e Eclipse Spring Boot é um projeto do grupo Spring](https://reader036.fdocumentos.com/reader036/viewer/2022062508/604895f366846d604b6a636e/html5/thumbnails/3.jpg)
Um arquivo pom.xml permite ao desenvolvedorincluir referências de bibliotecas que serãoutilizadas pelo projeto
Esse tipo de configuração evita erros decompatibilidade entre as versões das bibliotecas
Quando o projeto é atualizado, o Maven buscaos arquivos adequados de cada biblioteca einsere-os no projeto
Exemplo de Aplicação Web com Spring Boot e Eclipse
![Page 4: Desenvolvimento Web Exemplo de Aplicação Web com Spring ... Exemplo de API co… · Exemplo de Aplicação Web com Spring Boot e Eclipse Spring Boot é um projeto do grupo Spring](https://reader036.fdocumentos.com/reader036/viewer/2022062508/604895f366846d604b6a636e/html5/thumbnails/4.jpg)
01. Informe starter spring boot no Google
02.Acesse o link start.spring.io, indicado peloGoogle
Exemplo de Aplicação Web com Spring Boot e Eclipse
![Page 5: Desenvolvimento Web Exemplo de Aplicação Web com Spring ... Exemplo de API co… · Exemplo de Aplicação Web com Spring Boot e Eclipse Spring Boot é um projeto do grupo Spring](https://reader036.fdocumentos.com/reader036/viewer/2022062508/604895f366846d604b6a636e/html5/thumbnails/5.jpg)
03. No endereço https://start.spring.io deixecomo padrão os campos Generate a comoMaven Project; and Spring boot com o valorindicado pela plataforma
04.Em Group informe com.apiExemplo e emArtifact informe apiExemplo
Exemplo de Aplicação Web com Spring Boot e Eclipse
![Page 6: Desenvolvimento Web Exemplo de Aplicação Web com Spring ... Exemplo de API co… · Exemplo de Aplicação Web com Spring Boot e Eclipse Spring Boot é um projeto do grupo Spring](https://reader036.fdocumentos.com/reader036/viewer/2022062508/604895f366846d604b6a636e/html5/thumbnails/6.jpg)
05. Acesse o link Switch to the full version
Exemplo de Aplicação Web com Spring Boot e Eclipse
![Page 7: Desenvolvimento Web Exemplo de Aplicação Web com Spring ... Exemplo de API co… · Exemplo de Aplicação Web com Spring Boot e Eclipse Spring Boot é um projeto do grupo Spring](https://reader036.fdocumentos.com/reader036/viewer/2022062508/604895f366846d604b6a636e/html5/thumbnails/7.jpg)
06. A página apresentará todas as opçõesoferecidas pelo Starter Spring Boot
07. Algumas dessas opções serão selecionadaspara configurar a API apiExemplo
Exemplo de Aplicação Web com Spring Boot e Eclipse
![Page 8: Desenvolvimento Web Exemplo de Aplicação Web com Spring ... Exemplo de API co… · Exemplo de Aplicação Web com Spring Boot e Eclipse Spring Boot é um projeto do grupo Spring](https://reader036.fdocumentos.com/reader036/viewer/2022062508/604895f366846d604b6a636e/html5/thumbnails/8.jpg)
08. Selecione os checkbox web (grupo Web),devtools (grupo Core) e Thymeleaf (grupoTemplates Engine). Como ilustrado nas duasfiguras
Devtools ativa o tomcat a cada mudança no projeto
Thymeleaf auxilia na visualização de dados da aplicação
Web disponibiliza recursos para uma aplicação web
Exemplo de Aplicação Web com Spring Boot e Eclipse
![Page 9: Desenvolvimento Web Exemplo de Aplicação Web com Spring ... Exemplo de API co… · Exemplo de Aplicação Web com Spring Boot e Eclipse Spring Boot é um projeto do grupo Spring](https://reader036.fdocumentos.com/reader036/viewer/2022062508/604895f366846d604b6a636e/html5/thumbnails/9.jpg)
09.As opções selecionadas ficam em destaquecomo ilustrado a seguir:
Exemplo de Aplicação Web com Spring Boot e Eclipse
![Page 10: Desenvolvimento Web Exemplo de Aplicação Web com Spring ... Exemplo de API co… · Exemplo de Aplicação Web com Spring Boot e Eclipse Spring Boot é um projeto do grupo Spring](https://reader036.fdocumentos.com/reader036/viewer/2022062508/604895f366846d604b6a636e/html5/thumbnails/10.jpg)
10.As opções selecionadas ficam em destaquecomo ilustrado a seguir:
11.Em seguida, clique no botão Generate Project
O arquivo apiExemplo.zip será “baixado” para o seu computador
Exemplo de Aplicação Web com Spring Boot e Eclipse
![Page 11: Desenvolvimento Web Exemplo de Aplicação Web com Spring ... Exemplo de API co… · Exemplo de Aplicação Web com Spring Boot e Eclipse Spring Boot é um projeto do grupo Spring](https://reader036.fdocumentos.com/reader036/viewer/2022062508/604895f366846d604b6a636e/html5/thumbnails/11.jpg)
12.Crie uma pasta denominada de workspaceApipara ser o workspace de referência para oEclipse
13.Descompacte o arquivo apiExemplo.zip noworkspace workspaceApi
Exemplo de Aplicação Web com Spring Boot e Eclipse
![Page 12: Desenvolvimento Web Exemplo de Aplicação Web com Spring ... Exemplo de API co… · Exemplo de Aplicação Web com Spring Boot e Eclipse Spring Boot é um projeto do grupo Spring](https://reader036.fdocumentos.com/reader036/viewer/2022062508/604895f366846d604b6a636e/html5/thumbnails/12.jpg)
14.Abra o Eclipse, acessando o workspaceApi
Exemplo de Aplicação Web com Spring Boot e Eclipse
![Page 13: Desenvolvimento Web Exemplo de Aplicação Web com Spring ... Exemplo de API co… · Exemplo de Aplicação Web com Spring Boot e Eclipse Spring Boot é um projeto do grupo Spring](https://reader036.fdocumentos.com/reader036/viewer/2022062508/604895f366846d604b6a636e/html5/thumbnails/13.jpg)
15. Com o Eclipse aberto, efetue a importaçãodo projeto apiExemplo, usando a opção import
16.Selecione Existing MavenProjects na pasta Maven
Exemplo de Aplicação Web com Spring Boot e Eclipse
![Page 14: Desenvolvimento Web Exemplo de Aplicação Web com Spring ... Exemplo de API co… · Exemplo de Aplicação Web com Spring Boot e Eclipse Spring Boot é um projeto do grupo Spring](https://reader036.fdocumentos.com/reader036/viewer/2022062508/604895f366846d604b6a636e/html5/thumbnails/14.jpg)
17.Clique no botãoBrowse.. E selecionea pasta do projeto
18.Selecione oprojeto, marcandocheckboxcorrespondente
19.Clique em Finishpara confirmar
Exemplo de Aplicação Web com Spring Boot e Eclipse
![Page 15: Desenvolvimento Web Exemplo de Aplicação Web com Spring ... Exemplo de API co… · Exemplo de Aplicação Web com Spring Boot e Eclipse Spring Boot é um projeto do grupo Spring](https://reader036.fdocumentos.com/reader036/viewer/2022062508/604895f366846d604b6a636e/html5/thumbnails/15.jpg)
20.Projeto apiExemplo criado no Eclipse
Observe os arquivospom.xml, mvnw e mvnw.cmd.Esses dois últimos arquivossão utilizados para executar oMaven mesmo que nãoesteja instalado nocomputador
O arquivo pom.xml possui as referências das bibliotecas inseridas no projeto
Exemplo de Aplicação Web com Spring Boot e Eclipse
![Page 16: Desenvolvimento Web Exemplo de Aplicação Web com Spring ... Exemplo de API co… · Exemplo de Aplicação Web com Spring Boot e Eclipse Spring Boot é um projeto do grupo Spring](https://reader036.fdocumentos.com/reader036/viewer/2022062508/604895f366846d604b6a636e/html5/thumbnails/16.jpg)
21.Criando a classe de TesteController no pacotecom.apiExemplo.controller como indicado:
Exemplo de Aplicação Web com Spring Boot e Eclipse
![Page 17: Desenvolvimento Web Exemplo de Aplicação Web com Spring ... Exemplo de API co… · Exemplo de Aplicação Web com Spring Boot e Eclipse Spring Boot é um projeto do grupo Spring](https://reader036.fdocumentos.com/reader036/viewer/2022062508/604895f366846d604b6a636e/html5/thumbnails/17.jpg)
21.Criando a classe de TesteController no pacotecom.apiExemplo.controller como indicado:
Não esqueça!Para criar o pacote controller, basta
efetuar “clique direito” sobre o pacote principal (com.apiExemplo.apiExemplo), como está indicado na figura. Selecionar
new e depois Package
Exemplo de Aplicação Web com Spring Boot e Eclipse
![Page 18: Desenvolvimento Web Exemplo de Aplicação Web com Spring ... Exemplo de API co… · Exemplo de Aplicação Web com Spring Boot e Eclipse Spring Boot é um projeto do grupo Spring](https://reader036.fdocumentos.com/reader036/viewer/2022062508/604895f366846d604b6a636e/html5/thumbnails/18.jpg)
21.Criando a classe de TesteController no pacotecom.apiExemplo.controller como indicado:
Na nova janela, informe o nome do novo pacote (no exemplo novoPacote) logo após
o nome padrão do pacote principal
Exemplo de Aplicação Web com Spring Boot e Eclipse
![Page 19: Desenvolvimento Web Exemplo de Aplicação Web com Spring ... Exemplo de API co… · Exemplo de Aplicação Web com Spring Boot e Eclipse Spring Boot é um projeto do grupo Spring](https://reader036.fdocumentos.com/reader036/viewer/2022062508/604895f366846d604b6a636e/html5/thumbnails/19.jpg)
22.Altere o Código da classe criada comoindicado a seguir:
Note os símbolos @ nas linhas 6 e 9. Esses símbolos indicam annotations. Uma annotation referencia elementos da biblioteca Java
@Controller diz ao Spring que a Classe TesteController é do tipo Controller
@RequestMapping(“/”) diz ao Spring que o método teste() deve ser executado toda vez que se informar a / na url e, neste caso, deve-se abrir a página teste.html.
Exemplo de Aplicação Web com Spring Boot e Eclipse
![Page 20: Desenvolvimento Web Exemplo de Aplicação Web com Spring ... Exemplo de API co… · Exemplo de Aplicação Web com Spring Boot e Eclipse Spring Boot é um projeto do grupo Spring](https://reader036.fdocumentos.com/reader036/viewer/2022062508/604895f366846d604b6a636e/html5/thumbnails/20.jpg)
23.Crie a pasta teste em templates, comoindicado:
Exemplo de Aplicação Web com Spring Boot e Eclipse
![Page 21: Desenvolvimento Web Exemplo de Aplicação Web com Spring ... Exemplo de API co… · Exemplo de Aplicação Web com Spring Boot e Eclipse Spring Boot é um projeto do grupo Spring](https://reader036.fdocumentos.com/reader036/viewer/2022062508/604895f366846d604b6a636e/html5/thumbnails/21.jpg)
24.Crie a página teste.html com o seguinteconteúdo:
Exemplo de Aplicação Web com Spring Boot e Eclipse
![Page 22: Desenvolvimento Web Exemplo de Aplicação Web com Spring ... Exemplo de API co… · Exemplo de Aplicação Web com Spring Boot e Eclipse Spring Boot é um projeto do grupo Spring](https://reader036.fdocumentos.com/reader036/viewer/2022062508/604895f366846d604b6a636e/html5/thumbnails/22.jpg)
25.Execute o projeto como: botão direito sobre aclasse ApiExemploApplication.java
Exemplo de Aplicação Web com Spring Boot e Eclipse
![Page 23: Desenvolvimento Web Exemplo de Aplicação Web com Spring ... Exemplo de API co… · Exemplo de Aplicação Web com Spring Boot e Eclipse Spring Boot é um projeto do grupo Spring](https://reader036.fdocumentos.com/reader036/viewer/2022062508/604895f366846d604b6a636e/html5/thumbnails/23.jpg)
26.Note que o Eclipse apresenta a execução doprojeto no console
Note que o Tomcat foi inicializado na porta 8080.
27.Abra o navegador e informeLocalhost:8080/
Exemplo de Aplicação Web com Spring Boot e Eclipse
![Page 24: Desenvolvimento Web Exemplo de Aplicação Web com Spring ... Exemplo de API co… · Exemplo de Aplicação Web com Spring Boot e Eclipse Spring Boot é um projeto do grupo Spring](https://reader036.fdocumentos.com/reader036/viewer/2022062508/604895f366846d604b6a636e/html5/thumbnails/24.jpg)
26a.Mudança da porta do servidor
Caso deseje alterar a porta do servidor, seocorrer algum conflito, abra o arquivoapplication.properties e informe o seguinteconteúdo:
Server.port=no-desejado-para-a-porta
Exemplo de Aplicação Web com Spring Boot e Eclipse
![Page 25: Desenvolvimento Web Exemplo de Aplicação Web com Spring ... Exemplo de API co… · Exemplo de Aplicação Web com Spring Boot e Eclipse Spring Boot é um projeto do grupo Spring](https://reader036.fdocumentos.com/reader036/viewer/2022062508/604895f366846d604b6a636e/html5/thumbnails/25.jpg)
Criou-se uma página para teste apenas para quese pudesse conhecer a execução de umaaplicação web com Spring Boot.
O próximo passo será a construção de modelo,controle e dao para demonstrar um exemplocompleto de um CRUD.
Exemplo de Aplicação Web com Spring Boot e Eclipse
![Page 26: Desenvolvimento Web Exemplo de Aplicação Web com Spring ... Exemplo de API co… · Exemplo de Aplicação Web com Spring Boot e Eclipse Spring Boot é um projeto do grupo Spring](https://reader036.fdocumentos.com/reader036/viewer/2022062508/604895f366846d604b6a636e/html5/thumbnails/26.jpg)
28.Crie os pacotes model e dao, conforme estáindicado a seguir:
Os dois pacotes criados
Exemplo de Aplicação Web com Spring Boot e Eclipse
![Page 27: Desenvolvimento Web Exemplo de Aplicação Web com Spring ... Exemplo de API co… · Exemplo de Aplicação Web com Spring Boot e Eclipse Spring Boot é um projeto do grupo Spring](https://reader036.fdocumentos.com/reader036/viewer/2022062508/604895f366846d604b6a636e/html5/thumbnails/27.jpg)
29.Ajuste o arquivo pom.xml para que o mesmopossa obter as bibliotecas de referência dobanco de dados, no caso, MySQL.
Antes de </dependencies>, digite o seguintetrecho:
Logo após que o arquivo
pom.xml for salvo, o Maven
atualiza a biblioteca com
as novas referências
30.Salve o arquivo pom.xml
Exemplo de Aplicação Web com Spring Boot e Eclipse
![Page 28: Desenvolvimento Web Exemplo de Aplicação Web com Spring ... Exemplo de API co… · Exemplo de Aplicação Web com Spring Boot e Eclipse Spring Boot é um projeto do grupo Spring](https://reader036.fdocumentos.com/reader036/viewer/2022062508/604895f366846d604b6a636e/html5/thumbnails/28.jpg)
DICA:Caso ocorra a necessidade de atualizar asinformações do Maven, basta acessar as opçõesindicadas a seguir:
Botão direito sobre o nome do projetoMavenUpdate Project...
1
Na janela seguinte, marque o checkbox Force Update...e clique no botão OK para a atualização dos dados do Maven e do projeto.
2
Exemplo de Aplicação Web com Spring Boot e Eclipse
![Page 29: Desenvolvimento Web Exemplo de Aplicação Web com Spring ... Exemplo de API co… · Exemplo de Aplicação Web com Spring Boot e Eclipse Spring Boot é um projeto do grupo Spring](https://reader036.fdocumentos.com/reader036/viewer/2022062508/604895f366846d604b6a636e/html5/thumbnails/29.jpg)
31.Crie a classe DataConfiguration.java nopacote principal (com.apiExemplo.apiExemplo).
Essa classe será responsável pela conexão com obanco de dados
Exemplo de Aplicação Web com Spring Boot e Eclipse
![Page 30: Desenvolvimento Web Exemplo de Aplicação Web com Spring ... Exemplo de API co… · Exemplo de Aplicação Web com Spring Boot e Eclipse Spring Boot é um projeto do grupo Spring](https://reader036.fdocumentos.com/reader036/viewer/2022062508/604895f366846d604b6a636e/html5/thumbnails/30.jpg)
32.Digite o bloco de código para a classeDataConfiguration.java
Classe DataConfiguration
@Configuration = é umaannotation que é uma fonte dedefinições de beans. Umaaplicação só pode ter umaclasse com essa annotation.
@Bean = essa annotation foidefinida a nível de método. Elainforma para o Spring que quercriar essa referência e deixa-ladisponível para outras classesutilizarem esse recurso.
Nesse exemplo há a criaçãodos beans dataSource ejpaVendorAdapter
Exemplo de Aplicação Web com Spring Boot e Eclipse
![Page 31: Desenvolvimento Web Exemplo de Aplicação Web com Spring ... Exemplo de API co… · Exemplo de Aplicação Web com Spring Boot e Eclipse Spring Boot é um projeto do grupo Spring](https://reader036.fdocumentos.com/reader036/viewer/2022062508/604895f366846d604b6a636e/html5/thumbnails/31.jpg)
32.Digite o bloco de código para a classeDataConfiguration.java
Classe DataConfigurationConfiguração deconexão com o bancode dados
setGenerateDdl cria astabelas do banco dedados quando true
setShowSql, quandotrue, mostra oscomandos SQLexecutados
Exemplo de Aplicação Web com Spring Boot e Eclipse
![Page 32: Desenvolvimento Web Exemplo de Aplicação Web com Spring ... Exemplo de API co… · Exemplo de Aplicação Web com Spring Boot e Eclipse Spring Boot é um projeto do grupo Spring](https://reader036.fdocumentos.com/reader036/viewer/2022062508/604895f366846d604b6a636e/html5/thumbnails/32.jpg)
32.Digite o bloco de código para a classeDataConfiguration.java
Classe DataConfigurationConfiguração deconexão com o bancode dados
setGenerateDdl cria astabelas do banco dedados quando true
setShowSql, quandotrue, mostra oscomandos SQLexecutados
Exemplo de Aplicação Web com Spring Boot e Eclipse
O arquivo application.properties deve geralmente ser configurado com as
informações do banco de dados para que o Spring Boot possa acessá-lo. A criação da classe DataConfiguration.java evita isso e simula um acesso como se fosse via JDBC.
As configurações de acesso a banco de dados no application.properties pode exigir um
driver diferente do padrão para acessar um determinado banco de dados, podendo gerar
conflitos e erros se não estiver bem configurado.
![Page 33: Desenvolvimento Web Exemplo de Aplicação Web com Spring ... Exemplo de API co… · Exemplo de Aplicação Web com Spring Boot e Eclipse Spring Boot é um projeto do grupo Spring](https://reader036.fdocumentos.com/reader036/viewer/2022062508/604895f366846d604b6a636e/html5/thumbnails/33.jpg)
**Exemplo de configuração do arquivoapplication.properties para acessar o banco dedados MySQL
Exemplo de Aplicação Web com Spring Boot e Eclipse
![Page 34: Desenvolvimento Web Exemplo de Aplicação Web com Spring ... Exemplo de API co… · Exemplo de Aplicação Web com Spring Boot e Eclipse Spring Boot é um projeto do grupo Spring](https://reader036.fdocumentos.com/reader036/viewer/2022062508/604895f366846d604b6a636e/html5/thumbnails/34.jpg)
33.Crie a classe bean Estoque.java no pacotemodel, com a seguinte estrutura:
34.Crie o banco de dados
estoque_api
Exemplo de Aplicação Web com Spring Boot e Eclipse
serialVersionUID permite verificar se a versão do objeto é a mesma da classe
![Page 35: Desenvolvimento Web Exemplo de Aplicação Web com Spring ... Exemplo de API co… · Exemplo de Aplicação Web com Spring Boot e Eclipse Spring Boot é um projeto do grupo Spring](https://reader036.fdocumentos.com/reader036/viewer/2022062508/604895f366846d604b6a636e/html5/thumbnails/35.jpg)
35.Execute a aplicação
Acompanhe a execução no console do Eclipse
Observe que a tabela estoque foi criada nobanco de dados (configurado na classe deconexão)
Exemplo de Aplicação Web com Spring Boot e Eclipse
![Page 36: Desenvolvimento Web Exemplo de Aplicação Web com Spring ... Exemplo de API co… · Exemplo de Aplicação Web com Spring Boot e Eclipse Spring Boot é um projeto do grupo Spring](https://reader036.fdocumentos.com/reader036/viewer/2022062508/604895f366846d604b6a636e/html5/thumbnails/36.jpg)
Tabela criada no banco de dados
O JPA fez o Hibernate criar uma tabela de controle de sequencia:Hibernate_sequence
Exemplo de Aplicação Web com Spring Boot e Eclipse
![Page 37: Desenvolvimento Web Exemplo de Aplicação Web com Spring ... Exemplo de API co… · Exemplo de Aplicação Web com Spring Boot e Eclipse Spring Boot é um projeto do grupo Spring](https://reader036.fdocumentos.com/reader036/viewer/2022062508/604895f366846d604b6a636e/html5/thumbnails/37.jpg)
Tabela criada no banco de dados
Exemplo de Aplicação Web com Spring Boot e Eclipse
![Page 38: Desenvolvimento Web Exemplo de Aplicação Web com Spring ... Exemplo de API co… · Exemplo de Aplicação Web com Spring Boot e Eclipse Spring Boot é um projeto do grupo Spring](https://reader036.fdocumentos.com/reader036/viewer/2022062508/604895f366846d604b6a636e/html5/thumbnails/38.jpg)
36.Crie a interface EstoqueRepository.java nopacote dao, conforme indicado:
CrudRepository é uma classe que implementa métodos deCRUD automaticamente
Exemplo de Aplicação Web com Spring Boot e Eclipse
![Page 39: Desenvolvimento Web Exemplo de Aplicação Web com Spring ... Exemplo de API co… · Exemplo de Aplicação Web com Spring Boot e Eclipse Spring Boot é um projeto do grupo Spring](https://reader036.fdocumentos.com/reader036/viewer/2022062508/604895f366846d604b6a636e/html5/thumbnails/39.jpg)
37.Crie a classe EstoqueController.java, com otrecho de Código indicado a seguir:
Exemplo de Aplicação Web com Spring Boot e Eclipse
@Autowired é uma annotation que faz com que o Spring crie uma instância da classe EstoqueRepository sem utilizar um new. Isso é denominado de Injeção de Dependência (Inversão de Controle)