Primeiras aulas do curso Spring Boot: Agilidade no desenvolvimento java com Spring

Spring Boot: Agilidade no desenvolvimento java com Spring

Criando nossa primeira aplicação com o Spring Boot - Introdução

Seja bem-vindo ao curso de Spring Boot, em que aprenderemos bastante sobre este projeto.

Para um melhor aproveitamento do conteúdo, é preciso que você já tenha conhecimentos sobre Spring IOC - o core do Spring -, Maven e JPA.

Você poderá aprender mais sobre estes assuntos, nos seguintes cursos da Alura:

Durante o curso, migraremos uma aplicação antiga construída com Servlets e JDBC para uma aplicação nova, usando Spring Boot e todos os seus starters. Geraremos até o fim do curso, o Fatjar, ou seja, a aplicação inteira em um único JAR.

Criando nossa primeira aplicação com o Spring Boot - Criando nossa aplicação com Spring Boot

Somos parte da equipe de desenvolvimento da Alura e o cliente quer que nós migremos sua aplicação que foi criada com Servlet e JDBC. Trata-se de uma lista de convidados em que o cliente pode adicionar pessoas à listagem e convidá-las, que chamaremos de ListaVIPs.

lista vip - página inicial

Logo ao clicar no botão para ver a lista de convidados, somos levados a uma outra página onde vemos a listagem dos convidados e um formulário para adicionar mais convidados a lista.

listagem convidados e formulario

Como vemos, é uma aplicação bem simples, que permite adicionar convidados a uma lista e notifica estes convidados por email.

Para criar uma aplicação da forma mais rápida possível, precisamos de uma ferramenta que nos auxilie. Onde a gente não precise perder tempo configurando um servidor ou framework ORM, o que pode demorar horas. Por isso escolhemos o Spring Boot.

O Spring Boot não tem uma tarefa específica. Este é composto por starters onde, de acordo com a necessidade, adiciona-se ao projeto o starter necessário para atender determinado objetivo.

Para começarmos a criar nossa aplicação, iniciaremos um novo projeto Maven, simples, adicionando apenas o nome do projeto e o pacote.

iniciando projeto maven

Lembre-se de marcar a opção "create a simple project"(criar um projeto simples", traduzido) e após isso siga para o próximo passo.

configurando id do projeto

Preencha os campos Group Id e Artifact Id com o pacote do projeto (br.com.alura.listavip) e o nome do mesmo listavip respectivamente.

Após isso, devemos abrir o arquivo pom.xml e adicionar as dependências do projeto. Que por hora, é apenas o Spring Boot.

O Spring Boot durante a gravação deste curso está em sua versão 1.3.6 RELEASE. Sinta-se a vontade para usar uma versão mais recente. Em caso de dúvidas, recorra ao nosso fórum.

A dependência do Spring Boot pode ser encontrada no próprio site em spring.io/guides/gs/spring-boot/. Com ela o pom.xml deve ficar parecido com o código abaixo.

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>

    <groupId>br.com.alura.listavip</groupId>
    <artifactId>listavip</artifactId>
    <version>1.0-SNAPSHOT</version>

    <dependencies>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
            <version>1.4.1.RELEASE</version>
        </dependency>
    </dependencies>

</project>

Após isso, devemos esperar um pouco até que o Maven baixe todas as dependências do Spring Boot.

Criando nossa primeira aplicação com o Spring Boot - Subindo nossa aplicação web

Com o Spring Boot já instalado em nossas dependências, precisamos configurar a aplicação. Sendo esta uma aplicação web, precisaremos de um container que a execute, sendo este o Tomcat, Jetty, Wildfly ou qualquer um.

A vantagem de usar Spring Boot é que não precisamos mais nos preocupar com a instalação e configuração do projeto em um destes containers. Precisamos apenas configurar o Spring Boot para que inicie um container automaticamente e gerencie todos os nossos Beans. Faremos isso por meio das classes Java.

Até um tempo atrás, as configurações não eram feitas usando as classes Java, mas sim por arquivos XML, o que não é mais necessário hoje. O único XML da nossa aplicação será o de dependências do Maven.

Criaremos então a classe Configuracao que irá configurar o Spring em nosso projeto. Esta será criada dentro do pacote br.com.alura.listavip.

package br.com.alura.listavip;

import org.springframework.boot.autoconfigure.SpringBootApplication;

@SpringBootApplication
public class Configuracao {

}

Note a presença da anotação @SpringBootApplication, ela é a responsável por configurar nossa aplicação Spring. Ela é o resultado de um aglomerado de outras configurações, como por exemplo, o diretório onde o Spring deve procurar todos os Beans da aplicação, entre outras configurações.

Agora temos nossa aplicação inicial pronta e já podemos executá-la. Mas como podemos executar uma aplicação Java com uma classe praticamente em branco? Não podemos! Toda e qualquer aplicação básica com Java precisa do método main. Criaremos um então.

Dentro do método main, usaremos uma classe do Spring Boot para que este execute todas as configurações da nossa aplicação e a deixe disponível para podermos acessá-la, que receberá o nome de SpringApplication. Ela terá o método run, responsável por executar a classe de configuração da aplicação. Vejamos:

public static void main(String[] args){
    SpringApplication.run(Configuracao.class, args);
}

Como estamos na própria classe de configuração, passamos apenas o nome da classe. E como não temos nenhum parâmetro adicional para estas configurações, usamos apenas o args recebido pelo método main. Assim, já podemos executar nossa aplicação. Execute-a como uma aplicação Java normal.

executando a aplicacao

Logo veremos algumas informações sendo impressas no console.

informacoes no console

E então, podemos acessar nossa aplicação no navegador.

aplicacao funcionando no navegador

Mas convenhamos que mostrar uma página de erro logo no início da aplicação não é uma boa ideia para mostrar para o chefe ou amigo.

Para exibirmos uma mensagem mais interessante, transformaremos nossa classe de configuração em um Controller, e mapearemos o endereço / para um método que retornará uma String com uma mensagem de olá.

@SpringBootApplication
@Controller
public class Configuracao {

    @RequestMapping("/")
    @ResponseBody
    public String ola(){
        return "Ola, Bem vindo ao sistema Lista VIPs";
    }

    public static void main(String[] args){
        SpringApplication.run(Configuracao.class, args);
    }

}

As anotações @Controller, @ResponseBody, @RequestMapping, são específicas do Spring MVC. Caso não tenha conhecimentos sobre o framework, recomendamos que faça estes cursos:

Ao iniciarmos a aplicação novamente, teremos.

Mensagem de bem-vindo

Lembre-se de sempre separar seus controllers em outras classes. Neste exemplo, apenas usamos a classe de configuração para demonstração da praticidade de trabalhar com o Spring Boot.

Sobre o curso Spring Boot: Agilidade no desenvolvimento java com Spring

O curso Spring Boot: Agilidade no desenvolvimento java com Spring possui 174 minutos de vídeos, em um total de 42 atividades. Gostou? Conheça nossos outros cursos de Java em Programação, ou leia nossos artigos de Programação.

Matricule-se e comece a estudar com a gente hoje! Conheça outros tópicos abordados durante o curso:

Aprenda Java acessando integralmente esse e outros cursos, comece hoje!

  • 1241 cursos

    Cursos de programação, UX, agilidade, data science, transformação digital, mobile, front-end, marketing e infra.

  • Certificado de participação

    Certificado de que assistiu o curso e finalizou as atividades

  • App para Android e iPhone/iPad

    Estude até mesmo offline através das nossas apps Android e iOS em smartphones e tablets

  • Projeto avaliado pelos instrutores

    Projeto práticos para entrega e avaliação dos professores da Alura com certificado de aprovação diferenciado

  • Acesso à Alura Start

    Cursos de introdução a tecnologia através de games, apps e ciência

  • Acesso à Alura Língua

    Reforço online de inglês e espanhol para aprimorar seu conhecimento

Premium

  • 1241 cursos

    Cursos de programação, UX, agilidade, data science, transformação digital, mobile, front-end, marketing e infra.

  • Certificado de participação

    Certificado de que assistiu o curso e finalizou as atividades

  • App para Android e iPhone/iPad

    Estude até mesmo offline através das nossas apps Android e iOS em smartphones e tablets

  • Projeto avaliado pelos instrutores

    Projeto práticos para entrega e avaliação dos professores da Alura com certificado de aprovação diferenciado

  • Acesso à Alura Start

    Cursos de introdução a tecnologia através de games, apps e ciência

  • Acesso à Alura Língua

    Reforço online de inglês e espanhol para aprimorar seu conhecimento

12X
R$75
à vista R$900
Matricule-se

Premium Plus

  • 1241 cursos

    Cursos de programação, UX, agilidade, data science, transformação digital, mobile, front-end, marketing e infra.

  • Certificado de participação

    Certificado de que assistiu o curso e finalizou as atividades

  • App para Android e iPhone/iPad

    Estude até mesmo offline através das nossas apps Android e iOS em smartphones e tablets

  • Projeto avaliado pelos instrutores

    Projeto práticos para entrega e avaliação dos professores da Alura com certificado de aprovação diferenciado

  • Acesso à Alura Start

    Cursos de introdução a tecnologia através de games, apps e ciência

  • Acesso à Alura Língua

    Reforço online de inglês e espanhol para aprimorar seu conhecimento

12X
R$100
à vista R$1.200
Matricule-se

Max

  • 1241 cursos

    Cursos de programação, UX, agilidade, data science, transformação digital, mobile, front-end, marketing e infra.

  • Certificado de participação

    Certificado de que assistiu o curso e finalizou as atividades

  • App para Android e iPhone/iPad

    Estude até mesmo offline através das nossas apps Android e iOS em smartphones e tablets

  • Projeto avaliado pelos instrutores

    Projeto práticos para entrega e avaliação dos professores da Alura com certificado de aprovação diferenciado

  • Acesso à Alura Start

    Cursos de introdução a tecnologia através de games, apps e ciência

  • Acesso à Alura Língua

    Reforço online de inglês e espanhol para aprimorar seu conhecimento

12X
R$120
à vista R$1.440
Matricule-se
Procurando planos para empresas?

Acesso por 1 ano

Estude 24h/dia onde e quando quiser

Novos cursos todas as semanas