标签:ann ack int err 扫描 package text let frame
在通知类中:
package org_shitang_aop; import org.aspectj.lang.annotation.AfterReturning; import org.aspectj.lang.annotation.Aspect; import org.aspectj.lang.annotation.Before; import org.springframework.stereotype.Component; //通过注解来实现通知 @Component("LogBeforAnnotation")//通过注解实现<bean> @Aspect public class LogBeforAnnotation { //任意方法 @Before("execution(public void org_shitang_servier.StudentServideImp1.deleteStudentByNo(int)) or execution(public void org_shitang_servier.StudentServideImp1.addStudent(org_shitang_entity.student))")//属性:定义切点 public void myBefor(){ System.out.println("通过注解实现前置通知"); } @AfterReturning("execution(public void org_shitang_servier.StudentServideImp1.deleteStudentByNo(int)) or execution(public void org_shitang_servier.StudentServideImp1.addStudent(org_shitang_entity.student))") public void myAfter(){ System.out.println("通过注解实现后置通知"); } }
在bean中:
<!-- 开启注解 -->
<aop:aspectj-autoproxy></aop:aspectj-autoproxy>
<!-- 注解需要扫描 -->
<context:component-scan base-package="org_shitang_aop"></context:component-scan>
异常需要:@AfterThrowing 环绕需要:@Around 最终需要:@After
获取信息必须要用joinpoint,返回值要用returningValue
package org_shitang_aop;
import org.aspectj.lang.annotation.AfterReturning;import org.aspectj.lang.annotation.Aspect;import org.aspectj.lang.annotation.Before;import org.springframework.stereotype.Component;//通过注解来实现通知@Component("LogBeforAnnotation")//通过注解实现<bean>@Aspectpublic class LogBeforAnnotation {//任意方法@Before("execution(public void org_shitang_servier.StudentServideImp1.deleteStudentByNo(int)) or execution(public void org_shitang_servier.StudentServideImp1.addStudent(org_shitang_entity.student))")//属性:定义切点public void myBefor(){System.out.println("通过注解实现前置通知");}@AfterReturning("execution(public void org_shitang_servier.StudentServideImp1.deleteStudentByNo(int)) or execution(public void org_shitang_servier.StudentServideImp1.addStudent(org_shitang_entity.student))")public void myAfter(){System.out.println("通过注解实现后置通知");}}
标签:ann ack int err 扫描 package text let frame
原文地址:https://www.cnblogs.com/lmff/p/12763316.html