Guía simple de AOP en Spring Boot

Guía práctica de AOP en Spring Boot: qué es @Aspect, cómo habilitarlo, crear aspectos y usar Before, After y Around, con anotaciones personalizadas y buenas prácticas.

26 sept 2025 • 3 min de lectura • Equip Q2BSTUDIO

Inteligencia-Artificial-

Guía simple de AOP en Spring Boot: una introducción práctica a aspectos y anotaciones para añadir comportamientos transversales sin mezclar lógica de negocio

Qué es la anotación @Aspect: en Spring AOP la anotación @Aspect identifica una clase como aspecto dentro de la programación orientada a aspectos. Un aspecto encapsula comportamientos transversales como logging, auditoría o gestión de excepciones que se ejecutan cuando coinciden criterios definidos, por ejemplo cuando se invoca un método concreto o cuando un método lleva una anotación personalizada.

Por qué es importante: separar responsabilidades permite mantener la lógica de negocio limpia y centrada en su propósito; la reutilización facilita aplicar una misma funcionalidad en muchos puntos de la aplicación desde un único lugar; y el mantenimiento mejora al centralizar cambios en aspectos como logging, métricas o seguridad.

Dependencias: añadir soporte AOP en un proyecto Spring Boot requiere el starter correspondiente. Ejemplo Maven: <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-aop</artifactId> </dependency>

Paso 1 Habilitar AOP: en la configuración de Spring se activa con la anotación @EnableAspectJAutoProxy. Ejemplo de clase de configuración: import org.springframework.context.annotation.Configuration; import org.springframework.context.annotation.EnableAspectJAutoProxy; @Configuration @EnableAspectJAutoProxy public class AppConfig { }

Paso 2 Crear la clase aspecto: definir una clase anotada con @Aspect y típicamente también con @Component para que Spring la gestione. Ejemplo resumido: import org.aspectj.lang.annotation.Aspect; import org.springframework.stereotype.Component; @Aspect @Component public class LoggingAspect { private static final org.slf4j.Logger logger = org.slf4j.LoggerFactory.getLogger(LoggingAspect.class); }

Paso 3 Definir los comportamientos cuando se cumplen los criterios: ejemplos comunes

Before: ejecutar lógica antes de un método. Ejemplo de aspecto simplificado: @Before(execution(* org.spring.mastery.service.TestService.testBefore(..))) public void logBeforeMethod() { logger.info(A method is about to be executed!); }

After: ejecutar lógica después de la ejecución de un método. Ejemplo: @After(execution(* org.spring.mastery.service.TestService.testAfter(..))) public void logAfterMethod() { logger.info(A method has just finished success or error.); }

AfterReturning: detectar el valor devuelto por un método y capturarlo. Ejemplo: @AfterReturning(pointcut = execution(* org.spring.mastery.service.TestService.testAfterReturning(..)), returning = result) public void logAfterReturning(Object result) { logger.info(Method returned value: {} , result); }

AfterThrowing: ejecutar lógica cuando un método lanza una excepción. Ejemplo: @AfterThrowing(pointcut = execution(* org.spring.mastery.service.TestService.testAfterThrowing(..)), throwing = ex) public void logAfterThrowing(Exception ex) { logger.error(Method threw exception: {} , ex.getMessage()); }

Around: envolver la ejecución del método para ejecutar código antes y después y controlar la invocación. Ejemplo resumido: @Around(execution(* org.spring.mastery.service.TestService.testAround(..))) public Object logAround(org.aspectj.lang.ProceedingJoinPoint joinPoint) throws Throwable { logger.info([Around] Before: {} , joinPoint.getSignature()); Object result = joinPoint.proceed(); logger.info([Around] After: {} , joinPoint.getSignature()); return result; }

Anotaciones personalizadas: en lugar de usar rutas de paquete en pointcuts puedes crear una anotación propia y aplicarla a métodos. Ejemplo de anotación: import java.lang.annotation.*; @Target(ElementType.METHOD) @Retention(RetentionPolicy.RUNTIME) public @interface Auditable { } y luego detectar la anotación desde el aspecto: @Before(@annotation(com.example.aop.Auditable)) public void audit() { logger.info(Auditing action…); } De este modo puedes reutilizar la anotación en tantos métodos como necesites.

Buenas prácticas y precauciones: mantener una estructura de paquetes clara porque cambios en nombres de paquetes o clases pueden romper pointcuts basados en rutas; documentar qué aspectos existen y qué comportamientos añaden para facilitar el mantenimiento; evitar lógica de negocio compleja dentro de aspectos y preferir aspectos ligeros orientados a transversalidad.

Sobre Q2BSTUDIO: en Q2BSTUDIO somos una empresa de desarrollo de software y aplicaciones a medida especializada en soluciones integrales que incluyen software a medida, inteligencia artificial aplicada a empresas, ciberseguridad y servicios cloud. Ofrecemos servicios de desarrollo de aplicaciones multiplataforma y proyectos a medida, y podemos ayudarte a integrar AOP en tus aplicaciones para mejorar trazabilidad y mantenimiento. Con experiencia en servicios cloud aws y azure y en servicios de inteligencia de negocio, trabajamos para que tus soluciones escalen y sean seguras. Conoce nuestro enfoque en desarrollo de aplicaciones a medida visitando desarrollo de aplicaciones a medida y descubre nuestros servicios de inteligencia artificial en servicios de inteligencia artificial.

Palabras clave: aplicaciones a medida, software a medida, inteligencia artificial, ciberseguridad, servicios cloud aws y azure, servicios inteligencia de negocio, ia para empresas, agentes IA, power bi.

Conclusión: AOP en Spring Boot es una herramienta poderosa para añadir comportamientos transversales sin contaminar la lógica de negocio. Úsala con criterio, documenta tus aspectos y aprovecha la experiencia de equipos expertos como Q2BSTUDIO para integrar seguridad, cloud e inteligencia de negocio en tus proyectos.

UNA PAUSA?

Juga una estona abans de marxar

ELS NOSTRES SERVEIS

Com et podem ajudar

Intel·ligència artificial

Agents d'IA, chatbots i assistents intel·ligents que automatitzen tasques i atenen els teus clients 24/7 per millorar l'eficiència del teu negoci.

Més info

Desenvolupament de programari

Aplicacions web, mòbils i d'escriptori, intranets, e-commerce, SaaS i plataformes de gestió dissenyades per a les necessitats concretes de la teva empresa.

Més info

Serveis cloud

Migració, infraestructura, hosting gestionat, alta disponibilitat i seguretat en Microsoft Azure i Amazon Web Services perquè el teu negoci escali sense límits.

Més info

Ciberseguretat i pentesting

Auditories de seguretat, test d'intrusió (pentesting) i protecció d'aplicacions, dades i infraestructura on-premise i cloud, amb hacking ètic i compliment normatiu.

Més info

Business Intelligence

Quadres de comandament i anàlisi de dades amb Power BI: integrem les teves fonts, dissenyem dashboards i KPIs i convertim les teves dades en decisions.

Més info

Automatització de processos

Automatitzem tasques repetitives i connectem les teves aplicacions amb n8n, Power Automate, Make i RPA, eliminant treball manual i augmentant la productivitat.

Més info

Formació per a empreses

Formem els teus equips en tecnologia amb criteri: desenvolupament web, bases de dades, Git, bones pràctiques i seguretat, automatització amb n8n, intel·ligència artificial per a empreses i creació de solucions d'IA amb Azure AI Foundry.

Més info

Auditoria de codi

Auditem el codi que creguis tu, el teu equip o una IA: et diem què està bé i què millorar, el securitzem i el deixem llest per a producció, web o app.

Més info

Generació d'imatges amb IA

Creem per tu les imatges que necessita el teu negoci amb intel·ligència artificial: producte, xarxes, publicitat, il·lustració i avatars. Tu ens dius què vols i t'ho lliurem llest per fer servir.

Més info

Generació de vídeos amb IA

Creem per tu vídeos amb intel·ligència artificial: promocionals, per a xarxes, presentadors virtuals, doblatge i animacions. Ens comptes la idea i t'ho lliurem muntat i llest per publicar.

Més info

Avatars conversacionals amb IA

Creem avatars conversacionals amb IA —humans digitals amb cara i veu— que atenen els teus clients i equips amb el coneixement de la teva empresa, a la teva web, monitors interactius, WhatsApp o Teams.

Més info

Màrqueting Online i IA

Google Ads, Meta Ads, LinkedIn Ads i posicionament en motors d'IA (GEO/AEO): captem clients i fem que la teva marca aparegui on et busquen, també a ChatGPT, Gemini i Perplexity.

Més info

Tens un projecte en ment?

Explica'ns la teva visió i la convertim en una solució de programari. Sigui quin sigui l'abast, fem realitat la teva idea.

Live Chat