spring 源码
2015-11-23 21:20
253 查看
spring AOP的Advice(通知)
Advice(通知)定义在连接点做什么,为切面增强提供织入接口。
BeforeAdvice AfterAdvice ThrowsAdvice的设计,体现了AOP技术给应用带来的灵活性,使得相同的代码完全可以根据应用的需要灵活的出现在不用的应用场合。
spring AOP的Pointcut(切点)
Pointcut(切点)决定Advice通知应该作用于哪个连接点,也就是说通过Pointcut来定义需要增强的方法的集合,这些集合的选取可以按照一定的规则来完成。
spring AOP的Advisor(通知器)
Advisor(通知器),通过Advisor,把Advice和Pointcut结合起来,这个结合为使用IoC容器配置AOP应用,或者说即开即用的使用AOP基础设施,提供了便利。
单件模式
比如使用static类变量来持有单件实例,使用private私有构造函数来确保除了在当前单件实现中,单件不会被再次创建和实例化,从而保证它的“单件”特性。
public static final TruePointcut INSTANCE = new TruePointcut();
//这里是单件模式的实现特点,设置私有的构造函数,使其不能被直接实例化,并设置一个静态的类变量来保证该实例是唯一的
private TruePointcut() {
}
在SpringAOP实现中,使用的核心技术是动态代理,而这种动态代理实际上是JDK的一个特性。通过JDK的动态代理特性,可以为任意Java对象创建代理对象,对于具体使用来说,这个特性是通过Java Reflection API来完成的。
proxy模式
![](http://images2015.cnblogs.com/blog/734870/201511/734870-20151124213329624-1732067485.png)
Advice(通知)定义在连接点做什么,为切面增强提供织入接口。
BeforeAdvice AfterAdvice ThrowsAdvice的设计,体现了AOP技术给应用带来的灵活性,使得相同的代码完全可以根据应用的需要灵活的出现在不用的应用场合。
spring AOP的Pointcut(切点)
Pointcut(切点)决定Advice通知应该作用于哪个连接点,也就是说通过Pointcut来定义需要增强的方法的集合,这些集合的选取可以按照一定的规则来完成。
spring AOP的Advisor(通知器)
Advisor(通知器),通过Advisor,把Advice和Pointcut结合起来,这个结合为使用IoC容器配置AOP应用,或者说即开即用的使用AOP基础设施,提供了便利。
单件模式
比如使用static类变量来持有单件实例,使用private私有构造函数来确保除了在当前单件实现中,单件不会被再次创建和实例化,从而保证它的“单件”特性。
public static final TruePointcut INSTANCE = new TruePointcut();
//这里是单件模式的实现特点,设置私有的构造函数,使其不能被直接实例化,并设置一个静态的类变量来保证该实例是唯一的
private TruePointcut() {
}
在SpringAOP实现中,使用的核心技术是动态代理,而这种动态代理实际上是JDK的一个特性。通过JDK的动态代理特性,可以为任意Java对象创建代理对象,对于具体使用来说,这个特性是通过Java Reflection API来完成的。
proxy模式
![](http://images2015.cnblogs.com/blog/734870/201511/734870-20151124213329624-1732067485.png)
![](http://images2015.cnblogs.com/blog/734870/201511/734870-20151124213426890-209626187.png)
相关文章推荐
- Java对象的序列化和反序列化
- java序列化的使用
- java中的异常调用(一)
- 第一个spring冲刺团队贡献分(80分满分)
- eclipse中自动生成javadoc文档的方法
- Android实战技巧之九:最新Android开发环境(Eclipse+ADT+Android 5.0)
- spring项目中dubbo相关的配置文件出现红叉的问题
- 扫盲:SSH中 struts hibernate spring 各起什么作用
- Java中的I/O流复习
- 【精简解释】Java中native关键字作用
- Android实战技巧之八:Ubuntu下切换JDK版本!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!1
- Java相对路径/绝对路径总结(转)
- 《深入解析Spring架构与设计原理》阅读笔记(一)----IOC容器的设计与实现
- 项目开发之分析业务实体
- Java的一些基本概念
- Java:Session详解 (转)
- Java Dom解析的三个实例
- java多线程理解
- java设计模式--总体概要
- 【Java并发编程实战】—–“J.U.C”:Phaser