使用AOP,我们要注意关注横切性的功能,即抽象出独立服务,进行模块化使我们以前习惯性的纵向思维的方法再改变,注意横向思考问题的方式,我们结合现在的系统可以把判断文本框一些了的验证、日志的记录、事务的开启、数据库的开启和关闭等等,都可以抽象出使用切面的形式把这些方法切入进去,我们只需要关心我们的业务逻辑,这样代码简单,间接,开发效率大大提高,更重要的是复用效率大大提高了。...
分类:
编程语言 时间:
2014-07-08 19:02:50
阅读次数:
219
AOP两种代理的区别
Jdk基于接口实现:JDK动态代理对实现了接口的类进行代理。
CGLIB基于继承:CGLIB代理可以对类代理,主要对指定的类生成一个子类,因为是继承,所以目标类最好不要使用final声明。
如果目标对象实现了接口,默认情况下采用JDK的动态代理实现AOP,也可以强制使用CGLB生成代理实现;
如果目标对象没有实现接口,那么必须引入CGLB,spring会在JDK的动态代理和CGLB代理之间切换
通常情况下,鼓励使用jdk代理,因...
分类:
其他好文 时间:
2014-07-08 15:48:13
阅读次数:
293
Java的代理有两种:静态代理和动态代理,动态代理又分为 基于jdk的动态代理 和基于cglib的动态代理 ,两者都是通过动态生成代理类的方法实现的,但是基于jdk的动态代理需要委托类实现接口,基于cglib的动态代理不要求委托类实现接口。接下来主要分析一下基于jdk的动态代理的实现原理。一 动态代...
分类:
编程语言 时间:
2014-07-07 11:40:43
阅读次数:
321
转载自:http://www.blogjava.net/laoding/articles/242611.html 一直就用spring的IOC,遗憾spring的另一重要组成部分AOP却没用过,所以近几天抽空研究了下AOP,学了些东西,在这里记录下spring2.0的aop配置,以一个简单的记录日....
分类:
编程语言 时间:
2014-07-07 08:44:37
阅读次数:
332
没事的时候翻看lang.reflect包下的代码,发现有两部分内容:涉及反射和动态代理。很多地方都可以看到动态代理的影子,只是一直没仔细看下。在学习之前,先提出几个问题,带着问题来看代码:1.什么是动态代理?2.为什么使用动态代理?3.使用它有哪些好处?4.哪些地方需要动态代理?----------...
分类:
编程语言 时间:
2014-07-07 08:29:10
阅读次数:
219
其实asp.net 上aop现有的框架应该蛮多的,比如静态注入式的PostSharp(新版本好像已经商业化了,旧版本又不支持.net4.0+),或者通过反射的(性能会降低)。本文则是通过mvc其中一种方法拦截器ActionFilter(参考网上已经有很多类似例子)。首先新建一个日志控制类,命名为Ap...
分类:
Web程序 时间:
2014-07-06 23:19:12
阅读次数:
424
spring推荐使用publicvoidsave(Goodgood){
this.sessionFactory.getCurrentSession().save(good);
}以上编写dao代码,推荐使用hibernateTemplate,避免框架的入侵。这种方式如果不配置事务管理<!--<aop:config>-->
<!--<aop:pointcutid="goodServiceMethods"..
分类:
编程语言 时间:
2014-07-04 06:35:29
阅读次数:
341
1、面向切面编程(AOP)的概念:把项目中需要在多处用到的功能,比如日志、安全和事物等集中到一个类中处理,而不用在每个需要用到该功能的地方显式调用。 2、术语解释: 横切关注点:分布应用于多处的功能 切面:横切关注点可以被模块化为一个类,这个类被称为一个切面 通知(advice):切面要完成的工作。...
分类:
编程语言 时间:
2014-07-03 23:38:21
阅读次数:
514
在DRP项目中,多次提到了Filter,它解决了字符集的统一设置以及统一控制简单WebCache,从中我们可以体会到,它给我们带来的好处不仅仅是减少代码量这么简单,它的出现避免了我们每个页面重复的编写相同的代码,减少了我们的工作量,而且给维护带来了极大的便利,那么它是如何实现统一管理的呢?既然它能统一管理某些重复的操作,那么它和AOP有什么关系呢?
Filter简介
Servlet...
分类:
编程语言 时间:
2014-07-03 16:54:15
阅读次数:
256
动态代理可以提供对另一个对象的访问,同时隐藏实际对象的具体事实。代理一般会实现它所表示的实际对象的接口。代理可以访问实际对象,但是延迟实现实际对象的部分功能,实际对象实现系统的实际功能,代理对象对客户隐藏了实际对象。客户不知道它是与代理打交道还是与实际对象打交道。 动态代理主要包含以下角色: 动态代...
分类:
其他好文 时间:
2014-07-02 20:47:05
阅读次数:
120