javascript
java spring aop 注解包_Spring AOP 注解配置实例
Spring AOP注解例子
一:導(dǎo)入相關(guān)jar包。
首先導(dǎo)入Spring的相關(guān)包(這里就不多說了,我這里是3.2.4版本的)
然后導(dǎo)入AOP注解的相關(guān)包(不是spring的包)aspectjrt-1.6.7.jar和aspectjweaver-1.6.8.jar和aopalliance.jar
(注意這里最好是1.6.7以上的版本,不然容易出錯,折騰了我好久,最后才發(fā)現(xiàn)是包的版本問題。
所以這里一定要注意,spring 2.0以后的最好是用1.6.7的版本)
二: 建一個class類作為切入面(這個只是用來演示而已,這個切面是攔截com.afmobi.service包下的所有類的所有方法)
package com.afmobi.frame;
import org.aspectj.lang.ProceedingJoinPoint;
import org.aspectj.lang.annotation.After;
import org.aspectj.lang.annotation.AfterReturning;
import org.aspectj.lang.annotation.AfterThrowing;
import org.aspectj.lang.annotation.Around;
import org.aspectj.lang.annotation.Aspect;
import org.aspectj.lang.annotation.Before;
import org.aspectj.lang.annotation.Pointcut;
import org.springframework.stereotype.Component;
@Aspect
@Component
public class AopLogTest {
@Pointcut("execution(* com.afmobi.service.*.*(..))")
public void anyMethod(){
}
@Before("anyMethod()")
public void before() {
System.out.println("---Aop 的 前置通知---");
}
@AfterReturning("anyMethod()")
public void doAfter(){
System.out.println("---Aop 的 后置通知---");
}
@After("anyMethod()")
public void after(){
System.out.println("---Aop 的最終通知(發(fā)生異常也會通知)---");
}
@AfterThrowing("anyMethod()")
public void doAfterThrow(){
System.out.println("---Aop 的拋出異常通知---");
}
@Around("anyMethod()")
public Object doBasicProfiling(ProceedingJoinPoint pjp) throws Throwable{
System.out.println("---Aop 的 環(huán)繞通知 通知---");
Object object = pjp.proceed();//執(zhí)行該方法
return object;
}
}
三: 在spring的配置文件里配置這個切面類(這里按spring AOP注解的方式配置,不是xml的方式):
注意:核心AOP注解配置就是和
到此就ok了。
總結(jié)
以上是生活随笔為你收集整理的java spring aop 注解包_Spring AOP 注解配置实例的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: java nginx https_doc
- 下一篇: 普通java程序怎样用cron_java