Upload
others
View
6
Download
0
Embed Size (px)
Citation preview
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)