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简单测试代码相关推荐

  1. 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 ...

  2. 芯圣HC89S003F4简单测试代码,留着备用

    前言        HC89S003F4 是一颗采用高速低功耗 CMOS 工艺设计开发的增强型 8 位单片机,内部有 16K Bytes FLASH 程序存储器,256 Bytes IRAM 和 25 ...

  3. spring的DI,IOP,AOC,Spring的简单介绍

    回顾: 1. mybatis的性能优化.一级缓存.减轻数据库的压力.默认开启.一级缓存是线程级别,sqlSession,缓存数据的map就放在sqlSession中的PerpetualCache的中. ...

  4. Python入门实例——测试代码

    文章目录 测试函数 单元测试和测试用例 测试类 各种断言方法 编写待测试的类 测试类 方法 setUp() 总结 测试函数 Python 模块 unittest 主要用来做测试代码使用,这样能够在自己 ...

  5. php的完整代码块,简单测试了一下php中的代码块、内部类等知识

    简单测试了一下php中的代码块.内部类等知识<?php class a { public $b; public function print_result() { //普通代码块,但已经不是ja ...

  6. 【常考】408快排单函数简单模板(附注释+测试代码)

    纯净版(考试用) void QuickSort( int arr[], int low, int high ) {int temp;int i=low, j=high;temp = arr[low]; ...

  7. springcache使用笔记001_注释驱动的 Spring cache 简单使用

    spring的缓存介绍: Spring 3.1 引入了基于注释(annotation)的缓存(cache)技术,它本质上不是一个具体的缓存实现方案(例如 EHCache 或者 OSCache),而是一 ...

  8. java编译POSTGRESQL_Java连接PostgreSQL数据库(安装环境 + 简易测试代码)

    --[楼主比较啰嗦, 会列出几个异常情况以供参考]-- 1, 安装环境 1.0 Win7 32位 1.2 编译器:  Spring Tool Suite 3.7.1  官网下载地址:http://sp ...

  9. spring整合junit测试

    接下来说一下与Junit整合测试,这个整合测试实际上是这样,来一个test,咱们如果要测试很多功能的话,我把很多方法就复制粘贴粘贴,比如我这三个方法都是测试不同的功能,你看我是不是在每一个方法里面,是 ...

最新文章

  1. 为什么掌握Linux对程序员这么重要……
  2. 【题解】 [HNOI2015]落忆枫音 (拓扑排序+dp+容斥原理)
  3. 表单序列化提交中文乱码解决方案
  4. JDK1.8的安装与环境变量设置演示,java、jre安装及配置
  5. 使用wrk进行性能测试
  6. C++模板类注意事项
  7. form 多条数据 只保存修改的行_MVC中的新增、修改、删除
  8. mysql进阶(十五) mysql批量删除大量数据
  9. java基本数据类型所占长度_java基本数据类型长度详解
  10. 支撑百万并发的数据库架构如何设计?
  11. Maven命令安装本地jar包到本地仓库
  12. Debug和Release区别
  13. 基于人脸识别的课堂签到管理系统(五)---启动/结束签到,以及在百度智能云创建用户组
  14. WEB前端优化必备压缩工具YUI-compressor详解
  15. 一个很有趣的游戏(看谁的名字打架厉害)
  16. linux查看串口驱动
  17. 电工电子技术基础----multisim7使用及实验过程
  18. RFID ACR-122U M1射频卡破解分析
  19. Android 版本统一管理
  20. CTGU实验6_2-创建借书存储过程

热门文章

  1. web.config SetAttributes
  2. 再见Windows C++
  3. 弄了一个数学论坛,感觉不错,欢迎加入讨论
  4. CSS3: box-sizing 属性的简单认识
  5. Keepalived原理详解
  6. Jquery的基础学习
  7. 各大公司(Google,Microsoft,Baidu, Microsoft Research Asia etc.)实习生面试题总汇
  8. BaseServlet 继承 httpServlet
  9. 我的技术心病(转贴)
  10. qt下调用win32api 修改分辨率