spring框架学习(六)AOP
来源:互联网 发布:有哪些经典算法 编辑:程序博客网 时间:2024/06/06 01:04
目录(?)[-]
- AOP的引入
- AOP中的术语
- spring框架中AOP的使用
- 1拷贝jar包
- 2spring配置文件中增加命名空间和约束文件
- 3写被代理的类和扩展类
- 4由配置文件声明
- 5测试
- Spring框架中使用AOP的优点
AOP(Aspect-OrientedProgramming)面向方面编程,与OOP完全不同,使用AOP编程系统被分为方面或关注点,而不是OOP中的对象。
AOP的引入
在OOP面向对象的使用中,无可避免的会出现代码重复,而且使用面向对象的编程方式,这种重复无法避免,比如用户权限判断中,根据相应的权限执行相应的方法;在servlet中设置编码格式时,同样相同的代码出现很多次,而且还根业务无关,很容易忘记写,结果运行的时候就出现乱码拉。这种重复代码不仅使编码麻烦,而且还不容易维护。而AOP则将这些代码整理起来,将解决某个切面问题的代码单独的放在某个模块中,然后再织入到程序中。
AOP中的术语
Aspect:横切面的功能, 抽象出类,或接口, AOP编程重要的就是识别出横切面功能。
(方面,类似于字符编码功能)
Advice: 横切面功能的具体实现,需要根据实际的情况分析,如果在目标对象操作之前是 before在操作之后,就是 after advice。
(增强,类似于字符编码过滤器)
Pointcut:切入点,描述横切面功能应用的限制,不是所有的流程都需要,那些可以使用的地方就是切入点
(类似于过滤器的匹配规则 /*)
Joinpoint: 连接点,或指组件加入流程的时机,比如设置属性,调用方法,等,Spring只支持方法调用的连接点,而其他的一些框架支持属性的连接点如:AspectJ,
(类似于过滤器的过滤规则 REQUEST,FORWARD)
Weave: 缝合,将组件应用到业务流程中的这个过程,叫缝合或织入。
(类似于将过滤器配置到web.xml文件的过程)
Proxy,代理,在实现上,Spring的AOP其实就是使用JDK的动态代理(使用接口的方式完成代理操作),也可以使用CGLIB(使用继承的方式完成代理操作)。
Target,目标,业务操作的实际对象
实例:设置字符编码格式看作是一个Aspect方面,而拦截器就是一个Advice增强。
过滤器类
这样就不用在每个servlet中设置编码拉。。
spring框架中AOP的使用
1,拷贝jar包
2,spring配置文件中增加命名空间和约束文件
启用aop功能:就把标签添加进来就可以拉。
3,写被代理的类和扩展类
4,由配置文件声明
5,测试
Spring框架中使用AOP的优点
Aop与spring的IOC容器整合,增强,切入点都是javabean,可以在同一文件中配置
和spring的其他部分一样,可以在不同应用服务器之间任意移植
spring实现Aop的拦截接口,使得用户不必绑定在特定的拦截器接口上
Aop面向切面的编程思想,打破面向对象的思维方式,我们要学习的不仅是aop的使用,更要学习面向切面的这种思想。
- spring框架学习(六)AOP
- spring框架学习(六)AOP
- spring框架学习(六)AOP
- spring框架学习(六)AOP
- spring框架学习(六)AOP
- spring框架学习(六)AOP
- spring框架学习(六)AOP
- spring框架学习(六)AOP
- spring框架学习(六)AOP
- spring框架学习(六)AOP
- spring框架学习(六)AOP
- spring框架学习(六)AOP
- spring框架学习(六)AOP
- Spring框架 基于@Aspect的AOP配置(六)
- Spring框架AOP学习总结(一)
- Spring框架学习之(四)--AOP
- Spring 框架学习(四):AOP
- Spring框架学习【AOP基础】
- git 秘钥生成及常用指令
- 常用第三方开源框架介绍
- 超级简单四步使用KVO
- HttpLoggingInterceptor 拦截的log信息为unicode字符时的解决办法
- 如何检查 TEMP TABLESPACE 的使用情况
- spring框架学习(六)AOP
- hihocoder #1014 : Trie树
- 内存管理
- 欢迎使用CSDN-markdown编辑器
- 自己翻译制作的一些艺术字体
- 基于深度学习架构android人脸识别[离线版]APP免费下载。
- cocos2dx V3.2 mac os Xcode6.1 环境配置
- 用JAVA读取XML文件
- windows服务器系统监控