`
wx1569020408
  • 浏览: 26879 次
最近访客 更多访客>>
文章分类
社区版块
存档分类
最新评论

Spring Boot AOP实例

 
阅读更多

AOP可用于添加日志、计算接口耗时等,大致过程:

1. 定义切面类

2. 定义切入点

3. 编写处理方法

实例:

@Aspect  //1. 定义切面类
@Configuration
@Slf4j
public class TestAOP {
    @Pointcut("execution(* com.test.service..*.*(..))")   //2. 定义切入点,表示service下的所有子目录中的所有类的所有方法
    public void excudeService() {
    }


    @Around("excudeService()")  //3. 编写处理方法
    public Object aroundService(ProceedingJoinPoint joinPoint) throws Throwable {
        log.info("begin");
        long start = System.currentTimeMillis();


        Object thing = joinPoint.proceed();


        long end = System.currentTimeMillis();
        log.info( "end cost=" + (end - start));


        return thing;
    }
}


补充:

@Before  在切入点方法执行前执行
@After  在切入点方法执行后执行,包括抛异常,相当于finally 
@AfterReturnning  同上,但不包括抛异常
@AfterThrowing  在切入点方法抛异常后执行
@Around  切入点前、后都执行,必须调用 ProceedingJoinPoint.proceed()继续往下走


转载于:https://my.oschina.net/superwind20/blog/1524136

分享到:
评论

相关推荐

    Spring Boot如何使用AOP实例解析

    Spring Boot如何使用AOP实例解析 在软件开发中,AOP(Aspect-Oriented Programming)是一种非常重要的设计模式,它通过将cross-cutting concerns(横切关注点)与业务逻辑分离,使得代码更加灵活、易维护。Spring ...

    Spring的AOP实例(XML+@AspectJ双版本解析+源码+类库)

    本篇文章将深入探讨Spring的AOP(面向切面编程)特性,包括XML配置和@AspectJ注解方式的实践,同时结合源码分析,帮助开发者更全面地理解和应用这一重要概念。 **AOP概述** 面向切面编程(Aspect-Oriented ...

    spring aop权限小实例

    本实例将深入探讨如何在Spring AOP中实现权限控制,以提高代码的可读性和可维护性。 首先,我们要理解AOP的基本概念。AOP允许程序员定义“切面”,这些切面封装了特定的关注点,比如权限检查。然后,这些切面可以在...

    《Spring Boot企业级开发教程》配套资源.zip

    源代码是实践环节的重要组成部分,它提供了完整的Spring Boot项目实例,让用户能动手操作并看到代码运行效果。这些代码可能包括了不同场景的应用,如RESTful API设计、事务管理、AOP切面编程、邮件服务、任务调度、...

    Spring AOP编程实例

    源码中可能包含了一个简单的Spring Boot项目,其中包含了AOP切面的实现。`.classpath`和`.project`文件是Eclipse项目的元数据,用于项目构建和设置;`src`目录包含了源代码,可能有切面类和业务逻辑;`lib`目录可能...

    spring aop ioc实例

    在实际操作中,你可以使用Spring Boot来快速启动一个Spring应用,它已经集成了Spring AOP和IOC的功能。 总结来说,Spring的IOC和AOP提供了强大的功能,帮助我们构建松散耦合、易于测试和维护的应用。通过理解并熟练...

    一个简单的Spring boot入门级实例

    - Spring Boot 是基于 Spring 框架构建的,因此它继承了 Spring 框架的所有优点,比如强大的依赖注入、面向切面编程(AOP)、事务管理等。 7. **丰富的文档和社区支持:** - Spring Boot 拥有大量的文档和教程,...

    spring-boot示例项目

    aop|[aop,正则,前置通知,后置通知,环绕通知](https://github.com/smltq/spring-boot-demo/blob/master/aop/HELP.md) data-redis|[lettuce,redis,session redis,YAML配置,连接池,对象存储]...

    Spring及AOP应用(事务与集成)培训

    在培训中,我们将通过实例演示如何配置和使用Spring的这些特性。我们会讲解如何创建Bean,如何使用注解进行依赖注入,如何编写AOP切面,以及如何配置声明式事务。此外,我们还将学习如何利用Spring的集成特性连接...

    Spring AOP 入门实例1

    创建AOP实例** 以下是一个简单的Spring AOP入门实例步骤: 1. 首先,定义一个切面类,包含通知方法。例如,一个简单的日志切面: ```java @Aspect @Component public class LoggingAspect { @Before("execution(*...

    Spring AOP入门及其实例讲解、下载

    **Spring AOP 入门及其实例讲解** 在软件开发中,面向切面编程(Aspect Oriented Programming,简称AOP)是一种编程范式,它旨在提高代码的可重用性,减少冗余,并将关注点分离。Spring框架是Java开发中的一个流行...

    spring-boot入门实例(jpa+postgresql+aop实现valid切面式校验)

    这个入门实例将向我们展示如何使用Spring Boot与JPA(Java Persistence API)、PostgreSQL数据库以及AOP(面向切面编程)来实现数据验证。 首先,让我们详细了解一下Spring Boot。Spring Boot的核心理念是“约定...

    spring aop 注解例子

    通常,这可以通过 Maven 或 Gradle 的依赖管理和 Spring Boot 的自动配置来实现。 7. **testSpring 文件** "testSpring" 文件可能是项目的测试部分,包含对 AOP 注解应用的验证。通过编写测试用例,我们可以确保切...

    spring boot 深入浅出源码

    进一步探索,我们还可以研究Spring Boot的健康检查、Actuator监控、Spring Data JPA的懒加载机制、AOP面向切面编程的实现,以及Spring Cloud Config的远程配置加载等。 总之,通过深入学习Spring Boot的源码,...

    springboot的aop使用

    Spring Boot中的AOP使用是一个强大的编程范式,允许开发者将横切关注点(cross-cutting concerns)从业务逻辑中分离出来,以增强代码的可重用性和可维护性。横切关注点是指那些跨多个类或者方法的通用功能,如日志...

    42-Spring Boot使用AOP1

    本篇将详细介绍如何在 Spring Boot 中使用 AOP,并通过实例展示其五种不同类型的通知。 1. 前置通知:在目标方法执行之前运行。在提供的代码示例中,前置通知用于打印日志,但实际应用中,它可以用来进行权限验证、...

    springAOP-dome

    接下来,我们来看看如何创建一个简单的AOP实例: 1. **定义切面(Aspect)**:切面是包含通知(Advice)和切入点表达式(Pointcut Expression)的模块。通知是在特定时机执行的代码,如方法调用前后。在Spring中,...

    springboot入门实例

    SpringBoot入门实例旨在帮助开发者快速理解并掌握Spring Boot的核心特性及使用方式。Spring Boot是由Pivotal团队开发的,旨在简化Spring应用的初始搭建以及开发过程。它通过提供默认配置来简化Spring应用的搭建,...

    05-Spring全家桶(Spring Boot)

    Spring框架的核心特性包括依赖注入(Dependency Injection,DI)、面向切面编程(Aspect-Oriented Programming,AOP)、数据访问/集成、MVC Web框架等。这些特性使得开发者能够更专注于业务逻辑,而非基础设施的配置...

    如何在Spring Boot中使用@AfterReturning注解

    通过遵循这些最佳实践,你可以有效地利用 Spring Boot AOP 中的@AfterReturning 注解,实现代码的模块化和可维护性,提高开发效率。记住,AOP 的核心理念是将关注点分离,从而简化应用程序的架构和维护工作。

Global site tag (gtag.js) - Google Analytics