Spring AOP
Bwz_Learning
Change the world by program.
展开
-
Spring的AOP的用法
AOP称为面向切面编程,在程序开发中主要用来解决一些系统层面上的问题,比如日志,事务,权限等。一 AOP的基本概念(1) Aspect(切面):通常是一个类,里面可以定义切入点和通知(2) JointPoint(连接点):程序执行过程中明确的点,一般是被调用的方法(3) Advice(通知):AOP在特定的切入点上执行的增强处理,有before,after,afte原创 2016-11-15 20:48:07 · 890 阅读 · 0 评论 -
Spring的AOP:参数操作
在最近的研究中关于Spring的AOP:参数操作,用于获取JoinPoint的信息。获取目标方法的信息 访问目标方法最简单的做法是定义增强处理方法时,将第一个参数定义为JoinPoint类型,JoinPoint是SpringAoP中,只支持Method Execution (方法执行)的Joinpoint,对于类型中的属性,我们可以通过对setter,getter方法转载 2016-11-15 22:43:32 · 1232 阅读 · 0 评论 -
AOP解密-----用接口改造AOP
优化是个无止境的工作,在AOP的路上,我们走得很远,但是还有很多的工作,我们没有做,比如,将aop的业务部分封装成容器,将aop的服务部分改造成面向接口的,这样就不受具体的形式上的限制了!这样AOP的优化,就又前进了一步,也是符合咱们的面向接口编程的思想,下面就和我一起研究下如何将接口的思想融入到aop的实现中。回顾:在上篇博客中,我们将aop的服务封装到了容器中:转载 2016-11-16 23:12:42 · 1019 阅读 · 0 评论 -
AOP解密------双容器优化AOP
上篇博客中,提出,优化是个无止境的过程,的确,随着需求的变化,软硬件基础的升级,我们越来越不考虑代码的容量,而是考虑代码的质量,但是随着研究的深入,到了某个阶段,我们也要考虑代码的容量问题,这时,容器的概念,脱颖而出,在上篇博客将服务类作为一个接口传入,实际在后台是一个map容器,我们不仅包含了map的全部实现,还实现了服务类的叠加,但是美中不足的是,我们的业务类,还是单个的对象,就如下图:转载 2016-11-17 15:11:01 · 386 阅读 · 0 评论 -
AOP解密-----实时动态AOP
在上篇博客中个,咱们一起组建了一个容器,里面封装了业务,这样,咱们就将业务和服务的组装放到了客户端,而客户端就相当于咱们的开发中使用到的配置文件,大家发现问题了吗?就是我不能动态改动了?业务容器在代理完成后,重新添加一个业务类,这时候,是不被允许的,那这个容器就是个编译时起作用的容器,他就丧失了很多的灵活性! 那怎么办呢?实际就是调换一下调用顺序就好,大家看看结果:1,类图对比转载 2016-11-17 15:58:46 · 637 阅读 · 0 评论 -
AOP解密-----AOP之动态代理实现
1、前提:最初要实现的功能(打招呼) 代码:接口:public interface Greeting { void sayHello(String name);}实现:public class GreetingImpl implements Greeting { @Override public vo转载 2016-11-16 20:55:45 · 331 阅读 · 0 评论 -
AOP解密-----深入再造AOP
在上篇博客中,大家和我一起研究了AOP的基本实现,但是,也给大家遗留了很多问题,在这篇博客,咱们一起研究如何针对这些问题进行持续的优化,看看在咱们的手里,AOP会成长为一个什么样的东西! 回顾:看看上篇博客中,咱们一起实现的AOP类图: 咱们看看在CGLIB类里的问题public class CGLibDyna转载 2016-11-16 22:41:25 · 341 阅读 · 0 评论 -
Spring AOP 实现读写分离(MySQL实现主从复制)
1、Mysql的主从复制 1.1 mysql主(称master)从(称slave)复制的原理1、master将数据改变记录到二进制日志(binarylog)中,也即是配置文件log-bin指定的文件(这些记录叫做二进制日志事件,binary log events)2、slave将master的binary logevents拷贝到它的中继日志(relay log)3、s原创 2017-01-11 15:03:34 · 3330 阅读 · 0 评论