spring_aop_annotation 的实现:
1.1在beans.xml中加入aop的schema
1.2在xml中打开aop的自动检索
1.3创建一个需要实现动态代理的类
1.4导入aspectj包,Spring使用的是aspect这个包来实现AOP,所以需要导入这个包。
1.5在这类上面使用@Aspect来声明这个类是一个切面类
1.6在相应的要进行横切点上面加入PointCut的说明
1.7如果希望获取相应的调用信息,可以通过joinPoint 传递...
分类:
编程语言 时间:
2014-09-17 10:22:52
阅读次数:
296
Spring_AOP_XML使用Aspect实现动态代理(常用)
XML使用Aspect实现动态代理此方式比较常用,和使用注解最大的好处是我们不用每个方法前面定义横切点上面加入PointCut的说明,在XML中只需要定义一次就可以多出使用。...
分类:
编程语言 时间:
2014-09-17 10:22:41
阅读次数:
310
最近几天由于工作原因,需要设计实现一个线程安全的缓存机制,拿出来和大家分享交流一下。
应用背景:
缓存是在实际工作中经常用到的,主要作用呢?1. 提高响应速度 2. 降低cpu压力或者数据库压力。
在此,我的应用背景是拦截一些RFC请求(不要求获取实时数据),以降低数据库及自身应用的访问压力。
目标:
高可扩展性:可以方便配置需要使用缓存的方法。...
分类:
编程语言 时间:
2014-09-16 18:59:30
阅读次数:
213
使用Spring可以做到在应用层中实现数据库的读写分离。参考文档:http://blog.csdn.net/lifuxiangcaohui/article/details/7280202思路是使用Spring AOP做数据源的切面来更换不同的读写数据库。对应的读写库使用LVS等负载器可以分发完成集群...
分类:
编程语言 时间:
2014-09-16 18:54:10
阅读次数:
203
什么是面向切面编程?
在软件开发中,分布于应用中多处的功能被成为横切关注点。
切面提供了取代继承和委托的另一种选择,而且在很多场景下更清晰简洁。在使用面向切面编程时,我们仍然在一个地方定义通用功能,但是我们可以通过声明的方式定义这个功能以及何种方式在何处应用,而无需修改受影响的类。横切关注点可以被模块化为特殊的类,这些类被成为切面。这样做有两个好处:首先,每个关注点现在都只集中于一处,而不是分...
分类:
其他好文 时间:
2014-09-16 15:57:10
阅读次数:
166
在业务制定的时候很少会切入缓存设计这一环节,毕竟在指标不明确的情况这属于一种过渡设计.毕竟缓存切入有很多手段,在很多时候直接在WEB进行一个页面缓存就有着非常高收益的效果.缓存是一种横向的数据处理应用,一般在设计中引入AOP,ICO的应用组件都可以在后期切入添加.但AOP,ICO在没有比较丰...
分类:
其他好文 时间:
2014-09-15 22:45:39
阅读次数:
370
global.dao.dbcp.xml:
<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"
xmlns:tx...
分类:
其他好文 时间:
2014-09-15 17:56:09
阅读次数:
254
这个问题我是解决了。原来我对spring的事务切如原理不是特别了解。解决方案如下: 原理:spring aop 异常捕获原理:被拦截的方法需显式抛出异常,并不能经任何处理,这样aop代理才能捕获到方法的异常,才能进行回滚,默认情况下aop只捕获runtimeexception的异常,但可以通过配置来...
分类:
编程语言 时间:
2014-09-12 11:48:53
阅读次数:
257
spring的事务本质上来说还是spring的aop
不过,在aop中事务类,也就是切面类是我们提供的,但在spring事务中,事务是由spring提供的。
spring针对不同的数据库开发框架,启用了不同的事务
如jdbc中由datasource管理connection 在hibernate由sessionfactory 管理session(相当于对connection的封装)
...
分类:
编程语言 时间:
2014-09-12 10:14:13
阅读次数:
294
aop常见概念
1、切面
事务、日志、安全性框架、权限等都是切面(就是类,事务有事务类,日志有日志类,权限有权限类)
2、通知
切面中的方法就是通知(类中针对目标方法所要插入的方法,即事务类中执行事务的方法,日志类中执行日志操作的方法)
3、目标类 (你想要侵入修改的方法所在的类,诸如我们想在查询存款时加入一些其他操作,存...
分类:
编程语言 时间:
2014-09-11 23:58:42
阅读次数:
546