`
n_meng
  • 浏览: 29636 次
  • 性别: Icon_minigender_1
  • 来自: 北京
文章分类
社区版块
存档分类
最新评论

环绕通知

阅读更多
环绕通知:
1.创建一个MyAroundAdvice.java
package cn.csdn.aop.advice;

import org.aopalliance.intercept.MethodInterceptor;
import org.aopalliance.intercept.MethodInvocation;

public class MyAroungAdvice implements MethodInterceptor {

@Override
public Object invoke(MethodInvocation arg0) throws Throwable {
System.out.println("around完成----登录到网站的操作。。。");
Object obj =arg0.proceed();
System.out.println("around完成----提示你注册成功。。。");
return obj;
}

}


2.创建一个接口CustormService.java
package cn.csdn.aop.service;
/**/
public interface CustormService {
//客户注册的方法,用户名,邮箱,密码
void register(String name,String Email,String Password);

}


3.创建一个CustormServiceImpl.java

package cn.csdn.aop.service;
//目标对象的类
public class CustormServiceImpl implements CustormService{

@Override
public void register(String name, String Email, String Password) {

System.out.println("---------用户在这里实现注册的功能..........");
}

}


4.该配置文件
<!-- 环绕通知的配置 -->
<bean id="myAroungAdvice" class="cn.csdn.aop.advice.MyAroungAdvice"></bean>
<bean id="custormServiceTarget" class="cn.csdn.aop.service.CustormServiceImpl"></bean>
<!-- 配置代理对象 -->
<bean id="custormServiceProxy" class="org.springframework.aop.framework.ProxyFactoryBean">
<!-- 指明你的代理接口 -->
<property name="proxyInterfaces">
<list>
<value>cn.csdn.aop.service.CustormService</value>
</list>
</property>
<!-- 指明拦截器的名称 -->
<property name="interceptorNames">
<list>
<value>myAroungAdvice</value>
</list>
</property>
<!-- 指明目标对象 -->
<property name="target">
<ref bean="custormServiceTarget"/>
</property>

</bean>


5.创建一个测试类App.java

package cn.csdn.aop.service;

import org.junit.Test;
import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;


public class App {
@Test
public void app(){
ApplicationContext ac = new ClassPathXmlApplicationContext("classpath:a*.xml");
CustormService d= (CustormService) ac.getBean("custormServiceProxy");
d.register("zhang", "670109809", "12345");
}

}


输出结果:
around完成----登录到网站的操作。。。
---------用户在这里实现注册的功能..........
around完成----提示你注册成功。。。
分享到:
评论

相关推荐

    使用切入点匹配方法实现Spring AOP环绕通知

    本篇将详细探讨如何使用切入点匹配方法实现Spring AOP的环绕通知。 首先,理解AOP的核心概念: 1. 切面(Aspect):切面是关注点的模块化,它封装了横切关注点,如日志、事务等。 2. 连接点(Join Point):程序...

    spring aop的注解配置中,前置,后置,环绕通知,以及异常通知怎么获得被代理方法的参数

    在Spring AOP(面向切面编程)中,我们可以通过注解配置来实现对目标方法的增强,例如前置通知、后置通知、环绕通知和异常通知。这些通知在特定的时机执行,提供了灵活的代码逻辑插入点。下面我们将详细探讨如何在...

    加入切面环绕通知实现,日志比较完善的使用方式

    在Spring AOP(面向切面编程)中,切面环绕通知是一种强大的机制,它允许我们在方法执行前后插入自定义的行为,比如记录日志、事务管理等。本篇将深入探讨如何利用Spring AOP的切面环绕通知来实现一个日志记录系统,...

    Spring 环绕通知

    环绕通知是Spring AOP的一个重要概念,它是对方法调用前后进行增强处理的最全面的方式。本文将深入探讨Spring中的环绕通知及其应用。 环绕通知是通过实现`org.aspectj.lang.ProceedingJoinPoint`接口来定义的。这个...

    声明环绕通知

    "声明环绕通知"是Spring AOP中的一个重要概念,它提供了在方法执行前后完全控制逻辑的能力。本文将深入探讨这一主题。 首先,让我们明确什么是环绕通知。环绕通知是Spring AOP五种通知类型中最强大的一种。与前置...

    springMybatis,springmvc,环绕通知,时间转换,des,md5加密

    springMybatis,springmvc,环绕通知,时间转换,des,md5加密账户密码.拦截器

    spring的Aop中的前置通知,后置通知以及环绕通知简单代码

    在Spring AOP中,有三种主要的通知类型:前置通知、后置通知和环绕通知。下面将详细解释这三种通知,并通过简单的代码示例进行演示。 **1. 前置通知(Before Advice)** 前置通知在目标方法被调用之前执行,但无法...

    Spring AOP运用Spring AOP技术,要求包含前置通知、后置通知、环绕通知、返回通知、异常返回通知。

    1、编写切面类,包含权限审核方法和日志记录方法,这两个方法将来会织入到...5、编写案例,运用Spring AOP技术,要求包含前置通知、后置通知、环绕通知、返回通知、异常返回通知。请掌握这五种通知的特点,及应用场景

    Spring-AOP(前置/后置/环绕)通知的例子

    在这个例子中,我们将深入探讨Spring AOP中的前置通知、后置通知以及环绕通知的实现方式。 前置通知(Before Advice)在目标方法执行前触发,通常用于执行验证、初始化等操作。在Spring AOP中,我们可以使用`@...

    SSM,环绕通知,时间转换,静态页面变为动态

    Spring,mybatis,SpringMvc,环绕通知,时间转换,静态页面变动态页面

    前置后置环绕异常通知

    本教程将深入探讨Spring AOP中的四种通知类型:前置通知、后置通知、环绕通知以及异常通知,并通过实际案例展示如何创建自定义切入点。 1. **前置通知**: 前置通知在目标方法执行前触发,通常用于执行验证或准备...

    springboot-aop

    环绕通知是功能最强大的通知类型,它允许在方法调用前后执行自定义行为,并可以选择是否执行目标方法。环绕通知通过`@Around`注解实现,并需要返回一个`ProceedingJoinPoint`对象。例如: ```java @Aspect @...

    spring环绕通知图示

    Spring框架是一个开放源代码的J2EE应用程序框架,由Rod Johnson发起,是针对bean的生命周期进行管理的轻量级容器(lightweight container)。 Spring解决了开发者在J2EE开发中遇到的许多常见的问题,提供了功能强大...

    Spring.net通知类型,以及通知链

    - **环绕通知(Around Advice)**: 这是最强大的通知类型,它允许你在方法执行前后完全控制流程。环绕通知可以决定方法是否被调用,何时被调用,甚至可以改变其返回值。Spring.NET中的`MethodInterceptor`接口用于...

    解析Spring AOP技术的通知类型、顺序与应用

    内容概要:本文详细介绍了Spring中AOP(面向切面编程)的基础知识,重点讲述了五种常见的通知类型:环绕通知(@Around),前置通知(@Before),后置通知(@After),返回后通知(@AfterReturning)以及异常后通知(@...

    Xml文件配置实现AOP通知

    在这个例子中,`ref="aroundAdviceBean"`指向我们的环绕通知类,`method="aroundAdvice"`指定了环绕通知的方法。 **总结** 通过Spring的XML配置,我们可以灵活地定义和实现AOP通知,包括前置、后置、返回后、异常...

    Spring中的5种通知和3种加载通知的方式

    环绕通知是功能最强大的通知类型,通常使用`@Around`注解来实现。 5. 引用通知(After (Finally) Advice): 不论目标方法正常执行还是抛出异常,都会执行的代码,类似于Java中的finally块。`@After`注解用于定义...

    注解实现AOP通知

    5. 环绕通知(@Around):最为强大,可以在方法执行前后都进行控制,可以决定是否执行目标方法。环绕通知相当于一个代理,可以自定义何时以及如何执行目标方法。通常需要手动调用`ProceedingJoinPoint`的`proceed()`...

    Spring AOP四种创建通知(拦截器)类型

    环绕通知是在目标方法调用前后都会执行的通知类型,它是四种通知中最强大的一种,因为它不仅可以控制目标方法是否被调用,还可以完全控制返回值。要实现环绕通知,类需实现`MethodInterceptor`接口并实现`invoke`...

    Spring通知执行顺序 -回复 1

    1. **环绕通知(Around)开始**:环绕通知首先执行,它包裹整个方法调用,通常通过`ProceedingJoinPoint`对象来决定何时调用目标方法。 2. **前置通知(Before)**:在环绕通知内部,然后执行前置通知。 3. **环绕...

Global site tag (gtag.js) - Google Analytics