Spring基于advisor配置aop過程解析
1、目標(biāo)類
package com.gec.target;public class Hadoop { public void eatting() { System.out.println('大象正在吃東西 1'); try { //耗時(shí)5秒 Thread.sleep(5000); } catch (InterruptedException e) { e.printStackTrace(); } }}
2、增強(qiáng)類,此類必須要實(shí)現(xiàn)增強(qiáng)方位接口
package com.gec.advice; import org.springframework.aop.MethodBeforeAdvice; import java.lang.reflect.Method; public class BeforeMethodAdvice implements MethodBeforeAdvice { @Overridepublic 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.xsdhttp://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-4.3.xsd'><aop:aspectj-autoproxy /> <bean /> <bean /> <aop:config> <!--定義一個(gè)切面--> <aop:advisor advice-ref='beforeMethodAdvice' pointcut='execution (* eatting(..))' /> </aop:config> </beans>
4、測(cè)試
public static void main(String[] args) { ApplicationContext ctx=new ClassPathXmlApplicationContext('beans.xml'); Hadoop hadoop= (Hadoop) ctx.getBean('hadoop'); hadoop.eatting(); }
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持好吧啦網(wǎng)。
相關(guān)文章:
1. 解決Android Studio 格式化 Format代碼快捷鍵問題2. php解決注冊(cè)并發(fā)問題并提高QPS3. 完美解決vue 中多個(gè)echarts圖表自適應(yīng)的問題4. 在Chrome DevTools中調(diào)試JavaScript的實(shí)現(xiàn)5. Springboot 全局日期格式化處理的實(shí)現(xiàn)6. SpringBoot+TestNG單元測(cè)試的實(shí)現(xiàn)7. Java使用Tesseract-Ocr識(shí)別數(shù)字8. vue實(shí)現(xiàn)web在線聊天功能9. JAMon(Java Application Monitor)備忘記10. Python使用urlretrieve實(shí)現(xiàn)直接遠(yuǎn)程下載圖片的示例代碼
