Integração do MyBatis com Spring Boot via Anotações
Embora a configuração tradicional do MyBatis utilize arquivos XML para mapear instruções SQL, o Spring Boot permite uma abordagem muito mais enxuta baseada inteiramente em anotações Java. Esta técnica elimina a necessidade de arquivos de configuração externos para o mapeamento de consultas, facilitando a manutenção e a legibilidade do código em ...
Publicado em 7-11 18:46
Submissão de Formulários: Métodos com e sem Resposta do Servidor em Aplicações Web
Primeiro Método: Envio de Dados ao Backend sem Processamento de Resposta
Esta abordagem envia os parâmetros do formulário diretamente ao servidor, ideal para cenários onde nenhuma resposta precisa ser manipulada no frontend, como em atualizações assíncronas simples.
Exemplo de código HTML:
<form id="form-alteracao" action="/ap ...
Publicado em 7-11 08:44
Conceitos de JUC - Parte 4: Coleções Thread-Safe em Java
Em aplicações Java que processam múltiplas requisições simultâneas, a manipulação de coleções compartilhadas entre threads pode resultar em condições de corrida e comportamentos inesperados. Este artigo explora as principais alternativas para garantir a segurança em operações com listas.1. O Problema com Coleções Não-Síncronas
1.1 - Demonstraçã ...
Publicado em 7-11 03:19
Implementação do Padrão Observer em Java para Tratamento de Eventos AWT
No desenvolvimento de interfaces gráficas em Java, o padrão Observer é frequantemente utilizado para gerenciar eventos. Abaixo, um exemplo simulando o comportamento de botões usando a biblioteca AWT, com nomes e estrutura alterados para reduzir similaridade.
package exemplo.pattern.awt;
import java.awt.Button;
import java.awt.Frame;
import jav ...
Publicado em 7-11 03:05
Protegendo Dados Sensíveis com MD5 e Salting
A segurança no armazenamento de dados, especialmente senhas, é crucial. Uma abordagem comum para mitigar riscos é a aplicação de algoritmos de hash, como o MD5, antes de persistir essas informações. O MD5, embora tenha suas limitações de segurança reconhecidas, ainda pode servir como uma introdução ao conceito de hashing.
O que é MD5?
MD5 (Mess ...
Publicado em 7-11 02:35
Persistência de Dados com MyBatis em Java
O MyBatis é um framework de persistência de alto desempenho que facilita a integração entre aplicações Java e bancos de dados relacionais. Diferente de ORMs completos que ocultam o SQL, o MyBatis permite o controle total sobre as queries, eliminando a maior parte do código manual de JDBC e a configuração repetitiva de parâmetros e conjuntos de ...
Publicado em 7-11 01:46
Padrão de Projeto Compositor: Estruturando Hierarquias com Objetos
O padrão de projeto Compositor (Composite) é um padrão estrutural que visa organizar objetos em estruturas de árvore para representar relações de "todo-parte". Sua principal vantagem é permitir que clientes tratem objetos individuais e composições de objetos de forma uniforme, sem a necessidade de distinguir entre eles.
Componentes do ...
Publicado em 7-10 23:43
Integração de Compras no Aplicativo (Google Play Billing) no Android
O Google Play Billing permite que aplicativos Android vendam conteúdo digital e assinaturas. Abaixo está um guia prático que mostra como integrar a biblioteca versão 5.0.0 usando Java.
Dependência no build.gradle
dependencies {
def billing_version = "5.0.0"
implementation "com.android.billingclient:billing:$billing_ver ...
Publicado em 7-10 17:20
Dominando as Classes Auxiliares do Java Util Concurrent (JUC)
O pacote java.util.concurrent (JUC) fornece utilitários poderosos para coordenar o fluxo de execução entre múltiplas threads. Entre as ferramentas mais utilizadas para controle de sincronização avançada, destacam-se o CountDownLatch, o CyclicBarrier e o Semaphore. Essas classes permitem gerenciar estados de espera e acesso a recursos de forma m ...
Publicado em 7-10 16:58
HashMap em Java: Entendendo a Necessidade de Sobrescrever hashCode() e equals()
Ao utilizar HashMap no Java com objetos personalizados como chave, é fundamental sobrescrever os métodos hashCode() e equals(). O mesmo vale para métodos como contains() em coleções como ArrayList. Entenda onde e por que esses métodos são exigidos.
O HashMap implementa uma tabela hash baseada no código hash dos objetos. Cada chave gera um valor ...
Publicado em 7-10 08:10