39
Desenvolvimento Web Exemplo de Aplicação Web com Spring Boot e Eclipse Professor Vicente Paulo de Camargo

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

  • Upload
    others

  • View
    6

  • Download
    0

Embed Size (px)

Citation preview

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

**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

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

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

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

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

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

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)