Spring基于advisor配置aop過程解析
更新時間:2020年10月26日 14:26:52 作者:Y_wee
這篇文章主要介紹了Spring基于advisor配置aop過程解析,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下
1、目標(biāo)類
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、增強(qiáng)類,此類必須要實現(xiàn)增強(qiáng)方位接口
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="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:p="http://www.springframework.org/schema/p"
xmlns:context="http://www.springframework.org/schema/context"
xmlns:util="http://www.springframework.org/schema/util"
xmlns:aop="http://www.springframework.org/schema/aop" xsi:schemaLocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans-4.3.xsd http://www.springframework.org/schema/util http://www.springframework.org/schema/util/spring-util-4.3.xsd http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-4.3.xsd
http://www.springframework.org/schema/aop http://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();
}
以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
您可能感興趣的文章:
- Spring AOP訪問目標(biāo)方法的參數(shù)操作示例
- Springboot使用@Valid 和AOP做參數(shù)校驗及日志輸出問題
- 詳解使用Spring AOP和自定義注解進(jìn)行參數(shù)檢查
- SpringBoot @ControllerAdvice 攔截異常并統(tǒng)一處理
- Spring注解@RestControllerAdvice原理解析
- SpringMVC @ControllerAdvice使用場景
- Spring如何基于aop實現(xiàn)操作日志功能
- 關(guān)于Spring AOP使用時的一些問題匯總
- Spring Aop如何給Advice傳遞參數(shù)
相關(guān)文章
Spring Cloud Feign實現(xiàn)文件上傳下載的示例代碼
Feign框架對于文件上傳消息體格式并沒有做原生支持,需要集成模塊feign-form來實現(xiàn),本文就詳細(xì)的介紹一下如何使用,感興趣的可以了解一下2022-02-02
Java8新特性lambda表達(dá)式有什么用(用法實例)
這篇文章主要介紹了Java8新特性lambda表達(dá)式有什么用,著重以實例講解lambda表達(dá)式,需要的朋友可以參考下2014-06-06
springboot集成nacos報錯:get data from Nacos
這篇文章給大家介紹了springboot集成nacos報錯:get data from Nacos error,dataId:null.yaml的原因及解決方法,如果又遇到相同問題的朋友可以參考閱讀本文2023-10-10
深入Spring Boot實現(xiàn)對Fat Jar jsp的支持
這篇文章主要介紹了深入Spring Boot實現(xiàn)對Fat Jar jsp的支持,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2018-06-06

