Spring AOP如何详细实现切面编程?
- 内容介绍
- 文章标签
- 相关推荐
本文共计1736个文字,预计阅读时间需要7分钟。
简介:1、什么是做面向切面编程?概念:将一个个横切关注点(如某种业务逻辑的实现代码)放到某个模块中去,称之为切面。每个切面影响业务功能的一种功能,切面的目标就是为了功能增强。
简介
1、什么叫做面向切面编程?
概念:把一个个的横切关注点(某种业务的实现代码)放到某个模块中去,称之为切面。每个切面影响业务的一种功能,切面的目的就是为了功能增强,将需要增强的方法做成切面,实现对业务的增强,就是面向切面编程。
目的:将与业务本身无关,却被业务模块所共同调用的功能代码封装成切面,以减少系统的重复代码,降低耦合,提高可扩展性。
优势:把多个方法前/后的共同代码抽离出来,使用动态代理机制来控制,先执行抽离出来的代码,再执行每一个真实方法.
2、Spring中的AOP使用动态代理来实现:
- 如果一个类实现了接口,那么spring就使用JDK的动态代理完成AOP;
- 如果一个类没有实现接口,那么spring就是用cglib完成AOP。
3、AOP的一些基本概念
- Joinpoint:连接点,被拦截到需要被增强的方法。去哪里做增强
- Pointcut:切入点,哪些包中的哪些类中的哪些方法,可认为是连接点的集合。
本文共计1736个文字,预计阅读时间需要7分钟。
简介:1、什么是做面向切面编程?概念:将一个个横切关注点(如某种业务逻辑的实现代码)放到某个模块中去,称之为切面。每个切面影响业务功能的一种功能,切面的目标就是为了功能增强。
简介
1、什么叫做面向切面编程?
概念:把一个个的横切关注点(某种业务的实现代码)放到某个模块中去,称之为切面。每个切面影响业务的一种功能,切面的目的就是为了功能增强,将需要增强的方法做成切面,实现对业务的增强,就是面向切面编程。
目的:将与业务本身无关,却被业务模块所共同调用的功能代码封装成切面,以减少系统的重复代码,降低耦合,提高可扩展性。
优势:把多个方法前/后的共同代码抽离出来,使用动态代理机制来控制,先执行抽离出来的代码,再执行每一个真实方法.
2、Spring中的AOP使用动态代理来实现:
- 如果一个类实现了接口,那么spring就使用JDK的动态代理完成AOP;
- 如果一个类没有实现接口,那么spring就是用cglib完成AOP。
3、AOP的一些基本概念
- Joinpoint:连接点,被拦截到需要被增强的方法。去哪里做增强
- Pointcut:切入点,哪些包中的哪些类中的哪些方法,可认为是连接点的集合。

