Spring AspectJ简单测试代码
1.定义一个被通知的对象(目标对象)POJO
public class TestBean { public void add() { System.out.println("add to db"); } }
2.定义一个通知对象(advisor)
@Aspect public class TestAdvice { @Pointcut("execution(* TestBean.add(..))") public void perform() { } /** * 增加事务到指定的类 */ @Around("perform()") public void addTransaction(ProceedingJoinPoint pjp) { System.out.println("set autocommit false"); try { pjp.proceed(); System.out.println("commit transaction"); } catch (Throwable throwable) { System.out.println("rollback transaction"); } } }
3.配置XML代码
<?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.xsd http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop.xsd"> <aop:aspectj-autoproxy/> <bean id="testBean" class="com.test.TestBean"/> <bean id="testAdvice" class="com.test.TestAdvice"/> </beans>
4.写测试代码测试
public class Test { public static void main(String[] args) throws IOException { ApplicationContext ctx = new ClassPathXmlApplicationContext( "com/test/aop.xml"); TestBean t = (TestBean) ctx.getBean("testBean"); t.add(); } }
5.测试结果
set autocommit false add to db commit transaction
Spring AspectJ简单测试代码相关推荐
- Tesseract-ocr 3.0.2源码 + VS2010项目工程 + 简单测试代码
编译环境:Visual Studio 2010 所用类库版本: zlib 1.2.7 lpng1514 jpegsr9 tiff-4.0.3 giflib-5.0.4 leptonica-1.69 t ...
- 芯圣HC89S003F4简单测试代码,留着备用
前言 HC89S003F4 是一颗采用高速低功耗 CMOS 工艺设计开发的增强型 8 位单片机,内部有 16K Bytes FLASH 程序存储器,256 Bytes IRAM 和 25 ...
- spring的DI,IOP,AOC,Spring的简单介绍
回顾: 1. mybatis的性能优化.一级缓存.减轻数据库的压力.默认开启.一级缓存是线程级别,sqlSession,缓存数据的map就放在sqlSession中的PerpetualCache的中. ...
- Python入门实例——测试代码
文章目录 测试函数 单元测试和测试用例 测试类 各种断言方法 编写待测试的类 测试类 方法 setUp() 总结 测试函数 Python 模块 unittest 主要用来做测试代码使用,这样能够在自己 ...
- php的完整代码块,简单测试了一下php中的代码块、内部类等知识
简单测试了一下php中的代码块.内部类等知识<?php class a { public $b; public function print_result() { //普通代码块,但已经不是ja ...
- 【常考】408快排单函数简单模板(附注释+测试代码)
纯净版(考试用) void QuickSort( int arr[], int low, int high ) {int temp;int i=low, j=high;temp = arr[low]; ...
- springcache使用笔记001_注释驱动的 Spring cache 简单使用
spring的缓存介绍: Spring 3.1 引入了基于注释(annotation)的缓存(cache)技术,它本质上不是一个具体的缓存实现方案(例如 EHCache 或者 OSCache),而是一 ...
- java编译POSTGRESQL_Java连接PostgreSQL数据库(安装环境 + 简易测试代码)
--[楼主比较啰嗦, 会列出几个异常情况以供参考]-- 1, 安装环境 1.0 Win7 32位 1.2 编译器: Spring Tool Suite 3.7.1 官网下载地址:http://sp ...
- spring整合junit测试
接下来说一下与Junit整合测试,这个整合测试实际上是这样,来一个test,咱们如果要测试很多功能的话,我把很多方法就复制粘贴粘贴,比如我这三个方法都是测试不同的功能,你看我是不是在每一个方法里面,是 ...
最新文章
- 为什么掌握Linux对程序员这么重要……
- 【题解】 [HNOI2015]落忆枫音 (拓扑排序+dp+容斥原理)
- 表单序列化提交中文乱码解决方案
- JDK1.8的安装与环境变量设置演示,java、jre安装及配置
- 使用wrk进行性能测试
- C++模板类注意事项
- form 多条数据 只保存修改的行_MVC中的新增、修改、删除
- mysql进阶(十五) mysql批量删除大量数据
- java基本数据类型所占长度_java基本数据类型长度详解
- 支撑百万并发的数据库架构如何设计?
- Maven命令安装本地jar包到本地仓库
- Debug和Release区别
- 基于人脸识别的课堂签到管理系统(五)---启动/结束签到,以及在百度智能云创建用户组
- WEB前端优化必备压缩工具YUI-compressor详解
- 一个很有趣的游戏(看谁的名字打架厉害)
- linux查看串口驱动
- 电工电子技术基础----multisim7使用及实验过程
- RFID ACR-122U M1射频卡破解分析
- Android 版本统一管理
- CTGU实验6_2-创建借书存储过程