Como construir uma aplicação Spring MVC usando Maven no IntelliJ IDEA

DockerBeginner
Pratique Agora

Introdução

Este tutorial guiará você pelo processo de construção de um aplicativo Spring MVC usando Maven no ambiente de desenvolvimento IntelliJ IDEA. Cobriremos os passos essenciais, desde a configuração do ambiente de desenvolvimento até a utilização do Docker para contencionalização, para ajudá-lo a começar a construir aplicativos web modernos.

Introdução ao Spring MVC

Spring MVC é um popular framework de aplicação web que faz parte do ecossistema Spring. Ele segue o padrão arquitetônico Model-View-Controller (MVC), que separa a lógica da aplicação em três componentes interconectados: o modelo, a visualização e o controlador.

O que é Spring MVC?

Spring MVC é um framework de aplicação web baseado em Java que fornece um modelo abrangente de programação e configuração para a construção de aplicações web. Simplifica o desenvolvimento de aplicações web, lidando com tarefas e padrões comuns do desenvolvimento web, como manipulação de requisições, renderização de visualizações e ligação de dados.

Componentes Principais do Spring MVC

Os componentes principais do framework Spring MVC são:

  1. Modelo: O modelo representa os dados e a lógica de negócio da aplicação. É responsável por gerenciar os dados e o estado da aplicação.

  2. Visualização: A visualização é responsável por renderizar a interface do usuário da aplicação. É responsável por apresentar os dados ao usuário e lidar com as interações do usuário.

  3. Controlador: O controlador é o intermediário entre o modelo e a visualização. Ele recebe as requisições do usuário, processa os dados e passa os dados para a visualização para renderização.

graph LR A[Cliente] --> B[DispatcherServlet] B --> C[HandlerMapping] B --> D[Controlador] D --> E[Modelo] D --> F[Visualização] F --> A[Cliente]

Benefícios do Uso do Spring MVC

Alguns dos principais benefícios do uso do Spring MVC incluem:

  1. Separação de Preocupações: O padrão MVC promove uma clara separação de preocupações, tornando o código mais manutenível e testável.
  2. Flexibilidade: Spring MVC fornece uma arquitetura flexível e configurável, permitindo que os desenvolvedores personalizem o framework para atender às suas necessidades específicas.
  3. Escalabilidade: Spring MVC foi projetado para ser escalável, tornando-o adequado para a construção de aplicações web de grande escala.
  4. Integração com Outros Módulos Spring: Spring MVC integra-se perfeitamente com outros módulos Spring, como Spring Security, Spring Data e Spring Boot, proporcionando uma experiência de desenvolvimento abrangente e coesa.

Compreendendo os conceitos e componentes básicos do Spring MVC, você estará melhor equipado para construir aplicações web robustas e escaláveis usando este poderoso framework.

Configurando o Ambiente de Desenvolvimento com IntelliJ IDEA

Para começar a construir uma aplicação Spring MVC usando Maven no IntelliJ IDEA, você precisará configurar seu ambiente de desenvolvimento. Veja como fazer isso:

Instalando o Java Development Kit (JDK)

Primeiro, você precisará instalar o Java Development Kit (JDK) em seu sistema Ubuntu 22.04. Você pode fazer isso executando os seguintes comandos no terminal:

sudo apt update
sudo apt install openjdk-11-jdk

Verifique a instalação verificando a versão do Java:

java -version

Instalando o IntelliJ IDEA

Em seguida, você precisará instalar o IntelliJ IDEA, um popular Ambiente de Desenvolvimento Integrado (IDE) para desenvolvimento Java. Você pode baixar a versão mais recente do IntelliJ IDEA no site oficial: https://www.jetbrains.com/idea/download/

Após o download, extraia o arquivo ZIP e execute o seguinte comando para iniciar o IDE:

./idea.sh

Configurando o Projeto Spring MVC

  1. Abra o IntelliJ IDEA e crie um novo projeto selecionando "Criar Novo Projeto" na tela de boas-vindas.
  2. Escolha "Maven" como tipo de projeto e clique em "Próximo".
  3. Forneça um nome e local para o projeto, em seguida, clique em "Concluir".
  4. Na estrutura do projeto, clique com o botão direito do mouse na pasta "src/main/java" e selecione "Novo" > "Pacote". Crie um pacote para sua aplicação, por exemplo, "com.labex.springmvc".
  5. Clique com o botão direito do mouse no pacote e selecione "Novo" > "Classe Java". Crie uma nova classe para seu controlador Spring MVC, por exemplo, "HelloController.java".
package com.labex.springmvc;

import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.GetMapping;

@Controller
public class HelloController {

    @GetMapping("/")
    public String hello(Model model) {
        model.addAttribute("message", "Olá do LabEx Spring MVC!");
        return "hello";
    }
}
  1. Crie uma nova pasta chamada "templates" dentro do diretório "src/main/resources". É aqui que você colocará seus templates de visualização Spring MVC.
  2. Dentro da pasta "templates", crie um novo arquivo chamado "hello.html" e adicione o seguinte conteúdo:
<!doctype html>
<html xmlns:th="http://www.thymeleaf.org">
  <head>
    <title>Olá LabEx</title>
  </head>
  <body>
    <h1 th:text="${message}"></h1>
  </body>
</html>

Agora você configurou o ambiente de desenvolvimento básico para sua aplicação Spring MVC usando IntelliJ IDEA e Maven. Você pode prosseguir para a próxima etapa, que é a construção da aplicação Spring MVC.

Construindo uma Aplicação Spring MVC com Maven

Agora que você configurou seu ambiente de desenvolvimento, vamos começar a construir uma aplicação Spring MVC usando Maven.

Configurando o Projeto Maven

  1. Abra o arquivo pom.xml em seu projeto IntelliJ IDEA.
  2. Adicione as dependências necessárias para Spring MVC e Thymeleaf (o mecanismo de template de visualização) adicionando o seguinte código dentro da seção <dependencies>:
<dependencies>
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-web</artifactId>
        <version>2.7.0</version>
    </dependency>
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-thymeleaf</artifactId>
        <version>2.7.0</version>
    </dependency>
</dependencies>
  1. Adicione o plugin Spring Boot Maven à seção <plugins> do arquivo pom.xml:
<build>
    <plugins>
        <plugin>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-maven-plugin</artifactId>
            <version>2.7.0</version>
        </plugin>
    </plugins>
</build>

Implementando o Controlador Spring MVC

No arquivo HelloController.java, você pode definir a lógica do controlador que lidará com as requisições recebidas e retornará a visualização apropriada:

package com.labex.springmvc;

import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.GetMapping;

@Controller
public class HelloController {

    @GetMapping("/")
    public String hello(Model model) {
        model.addAttribute("message", "Olá do LabEx Spring MVC!");
        return "hello";
    }
}

Configurando a Aplicação Spring MVC

Para configurar a aplicação Spring MVC, você precisará criar um arquivo SpringMvcApplication.java no pacote raiz (por exemplo, com.labex.springmvc) com o seguinte conteúdo:

package com.labex.springmvc;

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;

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

Executando a Aplicação Spring MVC

  1. No terminal do IntelliJ IDEA, navegue até o diretório do seu projeto e execute o seguinte comando para compilar e iniciar a aplicação:
mvn spring-boot:run
  1. Após a aplicação estar em execução, abra seu navegador web e navegue para http://localhost:8080/. Você deverá ver a mensagem "Olá do LabEx Spring MVC!" exibida na página.

Parabéns! Você construiu com sucesso uma aplicação Spring MVC usando Maven no IntelliJ IDEA. Agora você pode continuar aprimorando sua aplicação adicionando mais funcionalidades, como controladores, serviços e visualizações adicionais.

Resumo

Neste tutorial, você aprendeu a construir uma aplicação Spring MVC usando Maven no IntelliJ IDEA, bem como a utilizar Docker para a contencionalização. Seguindo os passos descritos, você agora deve ser capaz de configurar seu ambiente de desenvolvimento, criar um projeto Spring MVC e empacotar sua aplicação como um contêiner Docker para implantação. Este conhecimento será valioso à medida que você continuar a explorar e construir aplicações web com Spring MVC e Docker.