`
xieyan30
  • 浏览: 49149 次
  • 性别: Icon_minigender_1
文章分类
社区版块
存档分类
最新评论

spring AOP (7) 基础知识-增强

 
阅读更多

前面我们说过jdk代理和cglib代理了,研究表明,谁研究的我也不知道哈,

cglib所创建的动态代理对象的性能比jdk所创建的动态代理对象的性能高很多(10倍左右),但cglib在创建动态代理对象时所花费的时间比jdk要多(8倍),,所以对于单实例的代理对象或者具有实例池的代理对象,因为不需要频繁的创建代理对象,所以比较适用cglib动态代理对象;需要频繁的创建代理对象的,则适合用jdk动态代理对象。

spring两种技术都运用了。

 

增强:spring 适用它来创建横切逻辑(比如事务),spring只支持方法连接点,所以增强既包含了横切逻辑代码,也包含了连接点的部分信息(即在方法的哪一点加入横切代码--方位信息)。

spring的增强都实现了org.aopalliance.aop.Advice接口,支持5种类型的增强。

①org.springframework.aop.BeforeAdvice;

前置增强,org.springframework.aop.MethodBeforeAdvice是目前可以用的前置增强,意思是在目标类的方法前织入增强。

②org.springframework.aop.AfterReturningAdvice;

后置增强,意思是在目标方法执行后织入增强。

③org.springframework.aop.ThrowsAdvice;

抛出异常增强,意思是在目标抛出异常后织入增强。

④org.aopalliance.intercept.MethodInterceptor;

环绕增强,意思是在方法执行前后织入增强。

⑤org.springframework.aop.IntroductionInterceptor;

引介增强,意思是在目标类中添加新的方法或者属性。

1
0
分享到:
评论

相关推荐

    死磕Spring之AOP篇 - Spring AOP两种代理对象的拦截处理(csdn)————程序.pdf

    了解这些基础知识可以帮助我们更好地掌握 Spring AOP 的实现细节。在分析源码时,可以参考作者的源码注释和相关文章,以便更深入地理解每一步操作。 总的来说,Spring AOP 通过动态代理技术实现了切面的插入,使得...

    spring-aop-aspectj-case

    1. **Spring AOP基础**: - **代理模式**:Spring AOP基于动态代理实现,可以创建JDK动态代理或CGLIB代理,为目标对象提供增强功能。 - **通知(Advice)**:包括前置通知、后置通知、异常通知、环绕通知等,定义...

    spring AOP 引入jar包,spring IOC 引入Jar包

    Spring AOP(面向切面编程)允许开发者在不修改源代码的情况下,通过“切面”来插入新的行为或增强已有功能,而 Spring IOC(控制反转)则负责管理对象的生命周期和依赖关系,极大地简化了应用的架构。 **Spring ...

    spring aop所需jar包

    Spring AOP,即Spring的面向切面编程,是Spring框架中的一个重要组成部分,它提供了一种在不修改源代码的情况下对程序进行功能增强的技术。在Java应用程序中,AOP主要用于日志记录、性能统计、安全控制、事务管理等...

    spring AOP入门教程

    本教程将带你了解Spring AOP的基础知识,帮助你入门这一强大技术。 ### 一、什么是AOP AOP是一种编程范式,旨在解决程序中的横切关注点问题,这些关注点通常与业务逻辑无关,但又需要在多个地方被调用,如日志记录...

    springAOP配置动态代理实现

    一、Spring AOP基础知识 1. **什么是AOP**:AOP是一种编程范式,用于处理系统中的横切关注点,即那些跨越多个类或方法的共同功能,如事务管理、日志记录等。AOP通过切面(Aspect)将这些关注点与业务逻辑分离,提高...

    最新版完整包 spring-5.3.9.RELEASE-dist.zip

    7. **Spring Boot**:虽然未直接提及,但 Spring Boot 是基于 Spring 框架构建现代 web 应用的流行选择。它简化了 Spring 应用的初始设置,自动配置了许多常见的服务,并提供了内置的开发服务器。 8. **文档**:在...

    SpringAOP简单项目实现

    总结,这个"SpringAOP简单项目实现"涵盖了Spring AOP的基础知识,包括切面、通知、切入点的定义与配置,以及如何在实际项目中使用Maven进行构建和依赖管理。对于初学者来说,这是一个很好的实践案例,能够帮助他们...

    spring-5.3.9-dist.zip(spring-framework-5.3.9)

    Spring框架是Java开发中不可或缺的一部分,它为构建高效、可测试和可维护的应用程序提供了全面的基础设施。在本文中,我们将深入探讨Spring框架的5.3.9版本,包括其核心特性、文档、库和XML架构。 首先,Spring ...

    spring2-aop入门实例教程

    ### Spring2-AOP入门实例教程知识点详解 #### 一、Spring框架概述 - **轻量级J2EE开发框架**:Spring是一个轻量级的Java应用框架,它为开发复杂的企业级应用提供了一种简化的方法。 - **发展历程**:自2002年发布...

    初探spring aop内部实现 java

    Spring AOP(面向切面编程)是Spring框架中的一个重要组件,它允许我们在不修改源代码的情况下,对程序的行为进行统一的管理和控制。本篇文章将深入探讨Spring AOP的内部实现,以及如何通过源代码理解其DataSource...

    基于注解配置和使用spring AOP(spring mvc框架)

    一、Spring AOP基础知识 1. **切面(Aspect)**:切面是关注点的模块化,例如日志、事务管理等。在Spring AOP中,切面可以是Java类或@Aspect注解的类。 2. **通知(Advice)**:通知是指在特定连接点执行的代码块...

    Spring-AOP .pptx

    4. **基础知识** - Spring AOP通过动态代理技术在运行时织入增强代码,采用JDK动态代理或CGLib动态代理两种机制。 - 动态代理是AOP的核心,它规范化了如何在不修改原有代码的情况下插入横切逻辑。 5. **动态代理*...

    spring-framework-reference-4.3.26.pdf

    Spring文档还涉及到多个重要知识点,如使用Log4j1.2或2.x进行日志记录,避免使用Commons Logging,采用SLF4J与Log4j或Logback结合使用,以及如何使用JUL(java.util.logging)进行日志处理。 最后,还提到了在...

    spring-tool-suite-3.9.0.RELEASE-e4.7.0-win32-x86_64.zip

    Spring Tool Suite(STS)是一款基于Eclipse开发的集成开发环境(IDE),专为Spring框架提供优化和增强功能。这个版本是3.9.0.RELEASE,兼容Eclipse 4.7.0,针对Windows 32位x86_64架构。下面将详细介绍STS及其相关...

    简单Spring框架模拟器--Demo

    “tiny-spring-step-7-method-interceptor-by-jdk-dynamic-proxy.zip”开始涉及AOP概念,通过JDK动态代理实现了方法拦截器,这使得我们可以在不修改原有代码的情况下,对方法进行增强,例如添加日志、事务控制等。...

    spring-framework-4-reference.pdf

    Spring提供了全面的基础结构支持,用以支持企业级应用开发中的各个方面,从简单的POJOs(Plain Old Java Objects)到全面的企业级应用程序的创建和部署。 在Spring Framework的各个模块中,核心模块是依赖注入和...

    Spring框架笔记-搭建-基础理论--面试.pdf

    从给定文件中提取的知识点,我们将主要围绕Spring框架的基础理论、搭建方法、核心特性以及如何在项目中进行配置和使用。以下是详细知识点的介绍: 1. Spring框架概述: Spring是一个全面的、一站式的解决方案框架,...

    spring-framework-5.3.8

    Spring 提供了基于代理的 AOP 实现,可以在不修改源代码的情况下增强已有类的功能。 4. **数据访问**:Spring 支持多种数据访问技术,如 JDBC、JPA、Hibernate 和 MyBatis。在 5.3.8 版本中,可能对这些数据访问...

    springaop学习

    ### Spring AOP 学习知识点详解 #### 一、Spring AOP 原理 **Spring AOP**(面向切面编程)是 Spring 框架中的一个关键特性,它提供了一种优雅的方式来处理横切关注点(cross-cutting concerns)。在实际应用中,...

Global site tag (gtag.js) - Google Analytics