对数据库连接池Proxool比较熟悉的读者,都知道Proxool可以记录SQL执行内容和时间等信息日志。我们可以将该日志记录专门的SQL日志文件,对于查找执行特别耗时的SQL起了不小的作用。对于一些其他连接池,没有该特性时,本文介绍Spring AOP切面方法来记录SQL日志。...
分类:
数据库 时间:
2014-08-26 17:27:06
阅读次数:
385
JDK实现动态代理需要实现类通过接口定义业务方法,对于没有接口的类,如何实现动态代理呢?
这就需要CGLib了。CGLib采用了非常底层的字节码技术,其原理是通过字节码技术为一个类创建子类,并在子类中采用方法拦截的技术拦截所有父类方法的调用,顺势织入横切逻辑。
JDK动态代理与CGLib动态代理均是实现Spring AOP的基础。
一、JDK这种方式动态代理
1. 没引入spr...
分类:
其他好文 时间:
2014-08-26 17:21:16
阅读次数:
389
AOP使用场景 AOP用来封装横切关注点,具体可以在下面的场景中使用: ? Authentication 权限 Caching 缓存 Context passing 内容传递 Error handling 错误处理 Lazy loading 懒加载 Debugging 调试 logging, t...
分类:
编程语言 时间:
2014-08-26 11:59:46
阅读次数:
198
Spring AOP基本概念目录Spring AOP定义AOP基本术语通知类型AOP定义AOP基本术语切面( Aspect ):一个能横切多个对象的模块化的关注点。对Spring AOP来说,切面就是普通的类(基于模式)或使用 @Aspect 注解的类。连接点( Joint Point ):程序执行...
分类:
编程语言 时间:
2014-08-22 23:43:09
阅读次数:
382
动态代理:动态代理是指在实现阶段不需要关心代理谁,而在运行阶段才指定代理哪一个对象。Spring AOP采用的核心思想就是动态代理设计模式。下面看动态代理的UML类图: 下面思考问题:invocationHandler的invoke方法是由谁来调用的,代理对象是怎么生成的?动态代理类:package...
分类:
其他好文 时间:
2014-08-21 00:02:03
阅读次数:
314
一、什么是 AOP。
AOP(Aspect Orient Programming),也就是面向切面编程。可以这样理解,面向对象编程(OOP)是从静态角度考虑程序结构,面向切面编程(AOP)是从动态角度考虑程序运行过程。
二、AOP 的作用。
常常通过 AOP 来处理一些具有横切性质的系统性服务,如事物管理、安全检查、缓存、对象池管理等,AOP 已经成为一种非常常用的解...
分类:
编程语言 时间:
2014-08-20 12:37:52
阅读次数:
309
一、基本概念 AOP——Aspect-OrientedProgramming,面向切面编程,它是spring框架的一个重要组成部分。一般的业务逻辑都有先后关系,我们可以理解为纵向关系,而AOP关注的是横向关系,每一个关注点可以理解为一个横切面。例如我们的大部分代码都会涉及到日志记录,很多的数据库操....
分类:
编程语言 时间:
2014-08-17 23:58:33
阅读次数:
761
error at ::0 can't find referenced pointcut pointCutName 错误解决方法...
分类:
其他好文 时间:
2014-08-17 22:49:52
阅读次数:
226
一、概念
AOP(Aspect-Oriented Programming,面向切面的编程),它是可以通过预编译方式和运行期动态代理实现在不修改源代码的情况下给程序动态统一添加功能的一种技术。它是一种新的方法论,它是对传统OOP编程的一种补充。
二、Aop原理
1.面向对象编程模型
OOP(面向对象编程)...
分类:
其他好文 时间:
2014-08-16 21:09:11
阅读次数:
230