`
verygoodleet
  • 浏览: 7076 次
  • 性别: Icon_minigender_1
  • 来自: 长沙
最近访客 更多访客>>
社区版块
存档分类
最新评论

AOP相关术语的理解

aop 
阅读更多

面向切面编程AOP ---切面提供了一种取代继承和委托的方式

 

AOP中的术语:

 通知:就是程序的功能,比如 安全、事务、日志等

连接点:和方法有关的前前后后,都是连接点

切入点:说明在哪儿干

切面:通知和切入点相互结合

引入:允许我们向现在的类中添加新的方法和属性,把切面用到目标类中

目标:引入中提到的目标类

织入:吧切面应用到目标对象来创建新的代理对象的过程。

代理:就是向目标对象应用通知后被创建的对象。

 

spring对AOP的支持局限于方法的注入,spring创建的全部通知都是用标准的java类编写的,,定义通知所应用的切点通常是以XML文件的方式在spring配置文件中配置的。

 

spring利用代理类来包裹切面,从而把他们织入到spring管理的bean中,在代理借钱方法调用之后,实际调用的目标bean方法之前,代理会执行切面逻辑。

 

spring生成代理类的方式有两种:

1、如果目标对象实现的是一个接口,spring会使用jdk的proxy类,它允许spring动态生成一个新的类来实现必要的接口,织入任何的通知,并把对这些接口的任何调用都转发给目标类。

2、如果目标类不是一个实现一个接口,spring就会使用CGLIB库生成目标类的一个子类,在创建这个子类时,spring织入通知,并且把这个子类的调用委托到目标类

 

引入aop 的namespace

 

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
       xmlns:aop="http://www.springframework.org/schema/aop"
       xsi:schemaLocation="http://www.springframework.org/schema/beans
           http://www.springframework.org/schema/beans/spring-beans-3.0.xsd
           http://www.springframework.org/schema/aop
           http://www.springframework.org/schema/aop/spring-aop-3.0.xsd">

 

基于pojo的aop的xml文件配置

 <!-- aop -->
  <bean id="inform" class="com.hnie.demo.service.impl.Inform"></bean>
  
  <aop:config>
  	<aop:aspect ref="inform">
  		<aop:pointcut expression="execution(* *.sayHello(. .))" id="performance"/>
  		<aop:before method="before" pointcut-ref="performance"/>
  		<aop:after-returning method="end" pointcut-ref="performance"/>
  		<aop:after-throwing method="excepition" pointcut-ref="performance"/>
  	</aop:aspect>
  	
  	
  </aop:config>

 

定义通知

package com.hnie.demo.service.impl;

public class Inform {
	
	public void before(){
		System.out.println("在方法之前执行");
	}
	
	public void end(){
		System.out.println("在方法之后执行");
	}

	public void excepition(){
		System.out.println("在遇到异常时执行");
	}
}

 

 

 

 

 

 

 

分享到:
评论

相关推荐

    Spring aop术语详解

    Spring AOP 术语详解 Spring 中的 AOP 术语可能会使人感到困惑,但本文将对 AOP 术语进行通俗的解释。...AOP 术语的理解是非常重要的,掌握这些术语可以帮助我们更好地理解和使用 AOP 编程技术。

    AOP编程术语-通知

    通过学习这个示例,你可以更深入地理解AOP在实际项目中的应用。 总的来说,AOP通过通知和切点的概念,使得我们可以编写更加模块化和可维护的代码,降低了系统复杂性,提高了代码复用性。在Java领域,Spring框架提供...

    Spring 2.5 AOP 例子

    四、AOP术语 - 切面(Aspect):定义一组相关或相互关联的通知和切点的模块化组件。 - 通知(Advice):在特定连接点执行的代码,例如日志记录、事务管理等。 - 切点(Pointcut):定义在何处应用通知的规则。可以是...

    Spring5_AOP.pdf

    在AOP术语中,连接点通常指那些可以被增强操作的位置。 切入点(Pointcut)是匹配连接点的表达式。通过切入点,可以定义在哪些具体的连接点上应用通知,它是AOP中用于定义何时以及在哪里执行通知的模块。切入点的...

    面向切面编程aop简介

    1.2. AOP 核心概念与术语 - 切面(Aspect):切面是横切关注点的封装,通常表现为一个类,可以包含切入点和通知。 - 连接点(Joinpoint):程序执行过程中的一个特定点,比如方法的调用或异常的抛出。 - 切入点...

    Springframework核心技术AOP详细介绍文档.pdf

    要深入理解AOP,开发者需要熟悉上述的概念和术语。在实践中,开发者可以通过阅读Spring AOP和AspectJ的官方文档、参考示例项目、参与社区讨论等方式来进一步提升自己的理解。通过实际的编码实践和问题解决,开发者...

    第3章 Spring AOP.ppt

    【AOP 术语解析】 1. **Aspect(切面)**:切面是封装了横切关注点的类,比如事务管理、日志记录等。它结合了多个通知(Advice)和切入点(Pointcut)。 2. **Joinpoint(连接点)**:程序执行过程中的特定点,比如...

    aop.zip_884AOP_java aop原理_javaaop原理

    **AOP术语解释:** 1. **切面(Aspect)**:切面是AOP的核心,它封装了多个相关操作的逻辑,这些操作被称为通知(Advice)。 2. **通知(Advice)**:在特定连接点(Join Point)执行的代码,如方法调用前、后或异常...

    spring-aop.pdf 源码电子书

    1. 通知(Advice):这是AOP术语中最核心的概念。通知定义了切面应用到目标对象时所要执行的行为。它代表了“何时”(何时执行)和“做什么”(执行什么动作)。通知类型包括前置通知(Before)、后置通知(After)...

    Spring AOP实验

    2、理解AOP中的相关术语; 3、了解Spring中两种动态代理方式的区别; 4、掌握基于XML和注解的AspectJ开发。 二、 实验内容 1、按图所示的类图结构,设计接口及其实现类,并完成另外两附加要求:(1)日志功能:在...

    小马哥讲 Spring AOP 编程思想 - API 线索图.pdf

    在讨论Spring AOP(面向切面编程)时,首先需要理解几个核心概念。Spring AOP 是Spring框架提供的一个功能模块,它允许开发者将横切关注点(cross-cutting concerns)从业务逻辑中解耦出来,通过在方法调用前后进行...

    AOP编程入门

    #### 三、AOP的基本术语 - **切面(Aspect)**:一个关注点的模块化,通常由一组通知构成。 - **连接点(Joinpoint)**:程序执行中的特定点,如方法调用或异常抛出。 - **通知(Advice)**:在特定的连接点上执行的...

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

    本文将深入探讨Spring AOP的基本概念、核心术语以及如何通过实例来应用它。 ### 1. Spring AOP 概念 - **切面(Aspect)**: 切面是关注点的一个模块化,它包含了横切关注点的定义。在Spring中,切面可以是独立的类...

    AOP 设计模式

    AOP术语** - **连接点(Joinpoint)**: 程序执行中的特定点,如方法调用、异常抛出等。 - **切点(Pointcut)**: 定义一组连接点,是实际应用AOP的地方。 - **通知(Advice)**: 在切点处执行的代码,可以是环绕...

    Jboss aop user guide

    通过以上详细说明,可以看出 JBoss AOP 不仅提供了一套强大的 AOP 框架,而且还包括了一系列实用的工具和资源,旨在帮助开发人员更好地理解和应用 AOP 技术。无论是对于初学者还是有经验的开发者来说,JBoss AOP 都...

    AOP技术总结 2

    ##### 2.1 AOP术语定义 - **关注点(Concern)**:指一个具体的业务目的或功能需求。例如,一个银行系统的业务关注点可能是账户转账,而横切关注点(Crosscutting Concerns)则可能包括日志记录、事务管理、安全性...

    Spring AOP应用开源架构源码2021.pdf

    以下,我们详细探讨了Spring AOP的循环依赖解决机制和AOP的术语以及相关概念。 首先,Spring解决循环依赖依赖于其容器的特性,特别是在其单例作用域下的Bean生命周期管理。循环依赖指的是当两个或多个Bean互相注入...

    spring2-aop入门实例教程

    - **AOP术语介绍**: - **切面(Aspect)**:包含多个切入点和相应的通知的集合。 - **连接点(Joinpoint)**:程序执行过程中的某个特定点,如方法调用或异常抛出。 - **切入点(Pointcut)**:匹配连接点的一个...

    Spring_AOP_Demo

    二、AOP术语 1. 切面(Aspect):切面是关注点的模块化,它包含连接点、通知、切入点表达式等。 2. 连接点(Join Point):程序执行过程中的某个特定点,如方法调用或异常处理。 3. 通知(Advice):在特定连接点...

    Spring AOP切面编程简介

    - Spring AOP的基本概念和术语。 - 如何创建切面、定义通知以及切入点表达式。 - 掌握JDK动态代理和CGLIB的工作原理。 - 熟悉@Aspect、@Before、@After、@Around等注解的使用。 - 学习如何在Spring配置文件中配置AOP...

Global site tag (gtag.js) - Google Analytics