Spring中如何通过advisor实现AOP配置流程详细解析?

2026-05-15 23:211阅读0评论SEO基础
  • 内容介绍
  • 文章标签
  • 相关推荐

本文共计391个文字,预计阅读时间需要2分钟。

Spring中如何通过advisor实现AOP配置流程详细解析?

javapackage com.gec.target;

public class Hadoop { public void eating() { System.out.println(大象正在吃东西 1); try { Thread.sleep(5000); } catch (InterruptedException e) { e.printStackTrace(); } }}

1、目标类

Spring中如何通过advisor实现AOP配置流程详细解析?

package com.gec.target; public class Hadoop { public void eatting() { System.out.println("大象正在吃东西 1"); try { //耗时5秒 Thread.sleep(5000); } catch (InterruptedException e) { e.printStackTrace(); } } }

2、增强类,此类必须要实现增强方位接口

package com.gec.advice; import org.springframework.aop.MethodBeforeAdvice; import java.lang.reflect.Method; public class BeforeMethodAdvice implements MethodBeforeAdvice { @Override public void before(Method method, Object[] objects, Object o) throws Throwable { System.out.println("how are you"); } }

3、配置文件

<?xml version="1.0" encoding="UTF-8"?> <beans xmlns="www.springframework.org/schema/beans" xmlns:xsi="www.w3.org/2001/XMLSchema-instance" xmlns:p="www.springframework.org/schema/p" xmlns:context="www.springframework.org/schema/context" xmlns:util="www.springframework.org/schema/util" xmlns:aop="www.springframework.org/schema/aop" xsi:schemaLocation="www.springframework.org/schema/beans www.springframework.org/schema/beans/spring-beans-4.3.xsd www.springframework.org/schema/util www.springframework.org/schema/util/spring-util-4.3.xsd www.springframework.org/schema/context www.springframework.org/schema/context/spring-context-4.3.xsd www.springframework.org/schema/aop www.springframework.org/schema/aop/spring-aop-4.3.xsd"> <aop:aspectj-autoproxy /> <bean id="beforeMethodAdvice" class="com.gec.advice.BeforeMethodAdvice" /> <bean id="hadoop" class="com.gec.target.Hadoop" /> <aop:config> <!--定义一个切面--> <aop:advisor advice-ref="beforeMethodAdvice" pointcut="execution (* eatting(..))" /> </aop:config> </beans>

4、测试

public static void main(String[] args) { ApplicationContext ctx=new ClassPathXmlApplicationContext("beans.xml"); Hadoop hadoop= (Hadoop) ctx.getBean("hadoop"); hadoop.eatting(); }

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持易盾网络。

本文共计391个文字,预计阅读时间需要2分钟。

Spring中如何通过advisor实现AOP配置流程详细解析?

javapackage com.gec.target;

public class Hadoop { public void eating() { System.out.println(大象正在吃东西 1); try { Thread.sleep(5000); } catch (InterruptedException e) { e.printStackTrace(); } }}

1、目标类

Spring中如何通过advisor实现AOP配置流程详细解析?

package com.gec.target; public class Hadoop { public void eatting() { System.out.println("大象正在吃东西 1"); try { //耗时5秒 Thread.sleep(5000); } catch (InterruptedException e) { e.printStackTrace(); } } }

2、增强类,此类必须要实现增强方位接口

package com.gec.advice; import org.springframework.aop.MethodBeforeAdvice; import java.lang.reflect.Method; public class BeforeMethodAdvice implements MethodBeforeAdvice { @Override public void before(Method method, Object[] objects, Object o) throws Throwable { System.out.println("how are you"); } }

3、配置文件

<?xml version="1.0" encoding="UTF-8"?> <beans xmlns="www.springframework.org/schema/beans" xmlns:xsi="www.w3.org/2001/XMLSchema-instance" xmlns:p="www.springframework.org/schema/p" xmlns:context="www.springframework.org/schema/context" xmlns:util="www.springframework.org/schema/util" xmlns:aop="www.springframework.org/schema/aop" xsi:schemaLocation="www.springframework.org/schema/beans www.springframework.org/schema/beans/spring-beans-4.3.xsd www.springframework.org/schema/util www.springframework.org/schema/util/spring-util-4.3.xsd www.springframework.org/schema/context www.springframework.org/schema/context/spring-context-4.3.xsd www.springframework.org/schema/aop www.springframework.org/schema/aop/spring-aop-4.3.xsd"> <aop:aspectj-autoproxy /> <bean id="beforeMethodAdvice" class="com.gec.advice.BeforeMethodAdvice" /> <bean id="hadoop" class="com.gec.target.Hadoop" /> <aop:config> <!--定义一个切面--> <aop:advisor advice-ref="beforeMethodAdvice" pointcut="execution (* eatting(..))" /> </aop:config> </beans>

4、测试

public static void main(String[] args) { ApplicationContext ctx=new ClassPathXmlApplicationContext("beans.xml"); Hadoop hadoop= (Hadoop) ctx.getBean("hadoop"); hadoop.eatting(); }

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持易盾网络。