Spring aop测试实例
来源:互联网 发布:商标查询软件 编辑:程序博客网 时间:2024/05/16 06:48
1、service代码:
package com.huizhan.domain.service;
public interface TestService {
public void test();
public void test001();
}
2、service实现层代码:
package com.huizhan.domain.service.impl;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import com.huizhan.domain.service.TestService;
@Service
@Transactional
public class TestServiceImpl implements TestService{
@Override
public void test() {
System.out.println("**********************service中的测试*******************8");
}
@Override
public void test001() {
System.out.println("test001*****************");
}
}
3、AopInterceptor拦截器定义
package com.huizhan.web.interceptors;
import org.aspectj.lang.JoinPoint;
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;
/**
* AOP切面
*
* @author feng
*
*/
// 声明此类为一个切面
@Aspect
public class AopInterceptor {
// execution为执行的意思,*代表任意返回值,然后是包名,.*意思是包下面的所有子包。(..)代表各种方法.
@Pointcut("execution(* com.huizhan.domain.service.impl.TestServiceImpl.test(..))")
private void anyMethod() {
}// 定义一个切入点
@Before("anyMethod()")
public void doAccessCheck() {
System.out.println("前置通知");
}
@AfterReturning("anyMethod()")
public void doAfter(JoinPoint joinPoint) {
System.out.println("***************后置通知,方法名字="
+ joinPoint.getSignature().getName());
}
@After("anyMethod()")
public void after() {
System.out.println("最终通知");
}
@AfterThrowing("anyMethod()")
public void doAfterThrow() {
System.out.println("例外通知");
}
@Around("anyMethod()")
public Object doBasicProfiling(ProceedingJoinPoint pjp) throws Throwable {
System.out.println("进入环绕通知");
Object object = pjp.proceed();// 执行该方法
System.out.println("退出方法");
return object;
}
}
4、applicationContext.xml配置
<!--************************ aop测试bean的配置 开始*************-->
<bean id="testInterceptors" class="com.huizhan.web.interceptors.TestInterceptors"/>
- Spring aop测试实例
- Spring AOP 入门实例
- Spring AOP 入门实例
- Spring AOP实例
- Spring AOP 实例
- Spring aop使用实例
- Spring AOP 简单实例
- spring aop 简单实例
- Spring 2.5 AOP 实例
- Spring AOP 实例
- spring AOP 入门实例
- Spring的AOP实例
- Spring Aop实例
- Spring之AOP实例
- Spring 传统AOP实例
- Spring.Net AOP实例
- Spring Aop完整实例
- Spring AOP实例
- 远程监控程序的实现
- Eclipse去除js(JavaScript)验证错误
- JSON Hijacking漏洞
- 哪种性格最适合IT行业?【读书笔记】代码大全33章:性格在软件领域中的作用
- MySQL常用命令
- Spring aop测试实例
- GOF设计模式(有趣见解)
- Dynamic Web Project 的学习笔记
- 通过手机来实现远程关机的思想
- 表的在线重定义
- VC++中采用ADO操作SQL数据库
- 怎样减肥
- 黑马程序员_Java基础[28]_线程3、优先级、线程组
- Socket API