首页 > 代码库 > Spring之AOP
Spring之AOP
package org.zln.module.test3_aop.interceptor;import org.aspectj.lang.ProceedingJoinPoint;import org.aspectj.lang.annotation.*;/** * Created by coolkid on 2015/6/6 0006. *//*声明这是一个切面*/@Aspectpublic class MyInterceptor { /*声明切入点 定义要拦截的方法 方法体是空的,使用表达式说明哪些方法是切入点*/ @Pointcut("execution(* org.zln.module.test3_aop.service.impl.PersonServiceBean.*(..))") private void anyMethod(){} /*声明一个前置通知*/ @Before("anyMethod()") public void doAccessCheck() { System.out.println("前置通知"); } @After("anyMethod()") public void doAfter() { System.out.println("最终通知"); } @AfterThrowing(pointcut="anyMethod()",throwing="e") public void doAfterThrowing(Exception e) { System.out.println("例外通知:"+ e); } @Around("anyMethod()") public Object doBasicProfiling(ProceedingJoinPoint pjp) throws Throwable { //if(){//判断用户是否在权限 System.out.println("进入方法"); /*执行业务Bean方法*/ Object result = pjp.proceed(); System.out.println("退出方法"); //} return result; }}/*execution(* org.zln.module.test3_aop.service..*.*(..)) 说明第一个* 返回值类型,*表示任何返回值类型org.zln.module.test3_aop.service 包名.. 对子包下的类也要进行拦截第二个* 类,*表示所有类第三个* 方法,*表示所有方法(..) 方法的参数,..表示任意定义anyMethod方法,作为这个切入点的名称execution(* org.zln.module.test3_aop.service.impl.PersonServiceBean.*(..)) 说明对PersonServiceBean类的所有方法进行拦截 */<?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:aop="http://www.springframework.org/schema/aop" xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.5.xsd http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-2.5.xsd"> <!--打开AOP注解解析器--> <aop:aspectj-autoproxy/> <!--将自定义拦截器交给Spring管理--> <bean id="myInterceptor" class="org.zln.module.test3_aop.interceptor.MyInterceptor"/> <bean id="personServiceAop" class="org.zln.module.test3_aop.service.impl.PersonServiceBean"/></beans>
Spring之AOP
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。