专注收集记录技术开发学习笔记、技术难点、解决方案
网站信息搜索 >> 请输入关键词:
您当前的位置: 首页 > ASP

Spring Aspectj的运用

发布时间:2010-05-20 14:01:29 文章来源:www.iduyao.cn 采编人员:星星草
Spring Aspectj的使用
Applicationcontext.xml代码 复制代码 收藏代码
xmlns:aop="http://www.springframework.org/schema/aop"
xsi:schemaLocation="http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-2.5.xsd">

<!--启动对@Aspect注解的支持 -->
<aop:aspectj-autoproxy></aop:aspectj-autoproxy>
<!--引入切面类-->
<bean id="myInterceptor" class="cn.itcast.service.MyInterceptor"></bean>

 

Myinterceptor代码 复制代码 收藏代码

 

package cn.itcast.service;

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;

//这个注解用来说明这个类是切面
@Aspect
public class MyInterceptor {

	//定义切入点用来定义拦截的方法
	@Pointcut("execution (* cn.itcast.service.impl..*.*(..))")
	private void anyMethod(){}//采用方法声明一个切入点	

	@Before("anyMethod()")//定义前置通知
	public void doAccessCheck() {
		System.out.println("前置通知");
	}	
	
	@After("anyMethod()")
	public void doAfter()//定义后置通知
	{
		System.out.println("最终通知");
	}

	@AfterReturning(pointcut="anyMethod()")
	public void doAfterReturning()//定义后置通知
	{
		System.out.println("后置通知");
	}
	//注意:如果出现异常则前置通知和最终通知执行,后置通知则不执行
	
	@AfterThrowing(pointcut="anyMethod()", throwing="ex")//定义异常通知
    public void doExceptionAction(Exception ex) {
	System.out.println("异常通知");
	}

	@Around("anyMethod()")
	//定义环绕通知,方法中的参数是固定的
	public Object doAround(ProceedingJoinPoint pjp) throws Throwable
	{
		System.out.println("环绕通知之前");
		Object result=pjp.proceed();
		System.out.println("环绕通知之后");
		return result;
	}
	
	
}

 

友情提示:
信息收集于互联网,如果您发现错误或造成侵权,请及时通知本站更正或删除,具体联系方式见页面底部联系我们,谢谢。

其他相似内容:

  • ASP怎么隐藏表单

    ASP如何隐藏表单 <%if Cookies_Toy ="" then response.write "<a href='login.asp'>登录</a> <a href='reg.asp'>注册</a>" ...

  • 为何js调用css脚本后没效果

    为什么js调用css脚本后没效果 这个是css的脚本代码: body,ul,li{margin: 0; padding: 0; border: 0;} body {background: #f5f...

  • 怎么伪造post请求,求指点。

    如何伪造post请求,求指点。。。 要查询大批(也就几万个)运单的状态,那查询网站一次最多查24个,这一个个搞会搞死人的。。 有...

  • Asp.net_简略代码设置GridView自适应列宽不变形

    Asp.net_简单代码设置GridView自适应列宽不变形 动态绑定的GridView由于列数不固定,而列又太多(博主做的这个项目有150个左右的字段...

  • ASP.NET上实现AJAX注册提醒

    ASP.NET下实现AJAX注册提醒 Ajax全称是,主要是利用JavaScript实现异步的数据传输,首先说异步,异步是当前操作进行的时候,用...

  • aspnet_regiis装配出错:0x80070005 拒绝访问

    aspnet_regiis安装出错:0x80070005 拒绝访问 点击右边红色标题查看本文完整版:aspnet_regiis安装出错:0x80070005 拒绝访问安装...

  • 关于网站边框解决方法

    关于网站边框 像hao123这样的网站上的边框是着么弄的?背景图片吗?http://www.hao123.com 另外哪个素材网站有实用的这内素材 -----...

  • ! 多表分组查询统计

    求助!! 多表分组查询统计 高手们,帮帮忙! 用户表 D_user 为 ID Username GroupID 1 张三 2 2 李四 2 3 王五 ...

  • 在Paypal交付的同时,把表单的数据提交给数据库

    在Paypal提交的同时,把表单的数据提交给数据库 本帖最后由 liuyang2708 于 2012-11-20 23:14:54 编辑 在提交这个支付...

  • 虚拟目录上JavaScript不能正常执行

    虚拟目录下JavaScript不能正常执行 各位大侠好,我在同一台服务器上用两种方式部署同一个网站。 第一种方法:在IIS下直接建一个网站...

热门推荐: