desenvolvimento web exemplo de aplicação web com spring ... exemplo de api co… · exemplo de...

Post on 13-Oct-2020

6 Views

Category:

Documents

0 Downloads

Preview:

Click to see full reader

TRANSCRIPT

Desenvolvimento Web Exemplo de Aplicação Web com Spring Boot e

Eclipse Professor Vicente Paulo de Camargo

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.

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

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

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

05. Acesse o link Switch to the full version

Exemplo de Aplicação Web com Spring Boot e Eclipse

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

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

09.As opções selecionadas ficam em destaquecomo ilustrado a seguir:

Exemplo de Aplicação Web com Spring Boot e Eclipse

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

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

14.Abra o Eclipse, acessando o workspaceApi

Exemplo de Aplicação Web com Spring Boot e Eclipse

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

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

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

21.Criando a classe de TesteController no pacotecom.apiExemplo.controller como indicado:

Exemplo de Aplicação Web com Spring Boot e Eclipse

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

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

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

23.Crie a pasta teste em templates, comoindicado:

Exemplo de Aplicação Web com Spring Boot e Eclipse

24.Crie a página teste.html com o seguinteconteúdo:

Exemplo de Aplicação Web com Spring Boot e Eclipse

25.Execute o projeto como: botão direito sobre aclasse ApiExemploApplication.java

Exemplo de Aplicação Web com Spring Boot e Eclipse

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

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

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

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

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

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

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

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

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

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.

**Exemplo de configuração do arquivoapplication.properties para acessar o banco dedados MySQL

Exemplo de Aplicação Web com Spring Boot e Eclipse

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

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

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

Tabela criada no banco de dados

Exemplo de Aplicação Web com Spring Boot e Eclipse

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

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)

top related