一、何为AOP? spring 的两大核心思想无非是 IOC和AOP。那么Spring 的 aop 是神马意思呢?AOP为Aspect Oriented Programming的缩写,意为:面向切面编程,通过预编译方式和运行期动态代理实现在不修改源代码的情况下给程序动态统一添加功能的一种技术。AO....
分类:
编程语言 时间:
2014-08-29 14:26:17
阅读次数:
230
Struts2框架是基于拦截器实现的,可以对某个Action进行拦截,然后处理一些逻辑。拦截器相当于AOP里面的环绕通知,即在Action方法的执行之前和之后根据需要添加相应的逻辑。事实上,即使struts.xml 没有任...
分类:
其他好文 时间:
2014-08-29 11:17:29
阅读次数:
216
ioc就是控制翻转或是依赖注入。通俗的讲就是如果在什么地方需要一个对象,你自己不用去通过new 生成你需要的对象,而是通过spring的bean工厂为你长生这样一个对象。aop就是面向切面的编程。比如说你每做一次对数据库操作,都要生成一句日志。如果,你对数据库的操作有很多类,那你每一类中都要写关于日...
分类:
其他好文 时间:
2014-08-28 20:58:06
阅读次数:
215
JDK动态代理是java反射的一个重要特性。它在某种方面为java提供了动态性的特性,给应用带来了无限的空间。大名鼎鼎的Hessian、Spring AOP基于动态代理实现。本文将简单的介绍JDK动态代理使用。关于代理模式代理模式是非常常用的一种设计模式,在我们的应用中经常被使用。一般场景是,我们有...
分类:
其他好文 时间:
2014-08-28 17:58:35
阅读次数:
224
任意公共方法的执行: execution(public * *(..))任何一个以“set”开始的方法的执行: execution(* set*(..))AccountService 接口的任意方法的执行: execution(* com.xyz.service.AccountService....
分类:
编程语言 时间:
2014-08-28 11:00:29
阅读次数:
205
我们先不谈AOP编程,先从duck punch编程谈起。如果你去wikipedia中查找duck punch,你查阅到的应该是monkey patch这个词条。根据解释,Monkey patch这个词来源于guerrilla patch,意为在运行中悄悄的改变代码,而guerrilla这个词与gor...
分类:
编程语言 时间:
2014-08-26 22:41:06
阅读次数:
381
说明:现在的场景是,采用数据库(Mysql)复制(binlog)的方式在两台不同服务器部署并配置主从(Master-Slave)关系; 并需要程序上的数据操作方法来访问不同的数据库,比如,update*方法访问主数据库服务器,q...
分类:
数据库 时间:
2014-08-26 17:51:56
阅读次数:
377
对数据库连接池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框架 Encase 是C#编写开发的为.NET平台提供的AOP框架。Encase 独特的提供了把方面(aspects)部署到运行时代码,而其它AOP框架依赖配置文件的方式。这种部署方面(aspects)的方法帮助缺少经验的开发人员提高开发效率。 NKalore是一款编程语言,它扩展了C.....
分类:
其他好文 时间:
2014-08-26 17:07:46
阅读次数:
236