Implementação de Interceptadores de Requisição no Spring Boot
Visão Geral dos Interceptadores
No ecossistema Spring MVC, os interceptadores são componentes essenciais para aplicar lógica transversal, como autenticação, logging ou auditoria, antes que a requisição alcance o controlador ou após a resposta ser gerada. Para implementar essa funcionalidade, é necessário seguir uma estrutura padrão envolvendo a ...
Publicado em 10-13 08:23
Arquitetura Subjacente do Spring MVC: Servlets, HTTP e JSP
Padrões de Projeto na Camada de Apresentação
A base do desenvolvimento web em Java utiliza conceitos fundamentais de design patterns para garantir a interoperabilidade entre o servidor, o protocolo e a aplicação.
Padrão Adaptador: Atua como uma ponte entre o protocolo HTTP, a especificação de Servlets e a aplicação Java Web. Ele isola a lógica ...
Publicado em 10-8 16:25
Fundamentos e Fluxo de Execução do Spring MVC
Arquitetura e Componentes Principais
O Spring MVC adota o padrão Model-View-Controller para estruturar aplicações web, separando lógica de negócio, apresentação e controle de tráfego. Os pilares centrais incluem:
DispatcherServlet: Controlador frontal central que intercepta todas as requisições HTTP conforme definido no web.xml.
HandlerMapping ...
Publicado em 8-26 20:07
Configuração de Módulos Múltiplos com Swagger2 no Spring Boot e Resolução de Conflitos com MyBatis-Plus
Adicionando Dependências do Swagger
Para iniciar a integração, adicione as dependências do Springfox ao seu arquivo pom.xml. A versão 2.9.2 é amplamente utilizada para projetos Spring Boot 2.x.
<dependency>
<groupId>io.springfox</groupId>
<artifactId>springfox-swagger2</artifactId>
<version>2.9.2& ...
Publicado em 7-26 13:37
Propagação de Contexto de Solicitação em Subthreads com Spring MVC
No desenvolvimento com Spring MVC, acessar atributos da solicitação HTTP em subthreads requer atenção especial, pois o RequestContextHolder armazena dados no ThreadLocal do thread atual. Subthreads não herdam automaticamente esses valores, resultendo em null ao tentar obtê-los.
Exemplo que demonstra o problema:
@GetMapping("/endpoint-assin ...
Publicado em 7-17 07:13
Renderização de Páginas Web com Thymeleaf no Spring Boot
O Paradigma de Templates no Spring Boot
Em arquiteturas modernas baseadas em Spring Boot, as aplicações são empacotadas como arquivos JAR executáveis, utilizando servidores web embutidos, como o Tomcat. Essa abordagem torna o uso tradicional de JSP inviável e desencorajado. Para resolver a necessidade de renderização dinâmica de HTML no servido ...
Publicado em 7-15 18:44
Upload simultâneo de arquivos e metadados JSON com AngularJS e Spring
Em diversos cenários de desenvolvimento web, surge a necessidade de enviar, em uma única requisição HTTP, tanto um arquivo físico quanto um conjunot de informações estruturadas (um objeto ou entidade). No ecossistema AngularJS integrado a um backend Java (Spring/SSM), a estratégia mais eficiente consiste em conevrter o objeto em uma string JSON ...
Publicado em 7-11 04:04
Guia Completo das Anotações do Framework Spring
@Controller
Define uma classe como um componente controlador no ecossistema Spring MVC, responsável por processar requisições web e retornar respostas, geralmente resolvendo uma visualização (view).
@Controller
public class InventoryController {
@GetMapping("/inventory/list")
public String displayInventory(Model model) {
...
Publicado em 7-7 02:48
Guia Completo de Anotações no Spring Boot
O ecossistema Spring Boot utiliza um vasto conjunto de anotações para reduzir a verbosidade do código XML tradicional e automatizar a configuração de aplicações Java. Abaixo está um detalhamento técnico das anotações essenciais, divididas por contexto de utilização.
Anotações Fundamentais (Core)
@SpringBootApplication: É uma anotação de conveni ...
Publicado em 6-25 00:51
Configuração e Resolução de Problemas em uma Aplicação Spring MVC com Tomcat
Ao implementar uma aplicação Spring MVC, é essencial garantir que o ambiente de desenvolvimento esteja corretamente configurado. Erros durante a inicialização do servidor são comuns e frequentemente relacionados a dependências faltantes ou configurações incorretas. A seguir, discutimos problemas típicos e como resolvê-los.
Falha na Inicializaçã ...
Publicado em 6-24 22:10