spring的AOP编程
来源:互联网 发布:计算机二级vb上机题库 编辑:程序博客网 时间:2024/05/21 15:07
spring框架是轻量级的JavaEE解决方案,众多优秀的设计模式的组合。(核心设计模式包括工厂、代理、模板、策略。)spring框架的核心:工厂类+配置文件---->生产对象----->解耦和。
工厂设计模式是通过工厂类,完成一个对象的创建或者生产。好处:解耦和。底层实现是反射、读取配置文件获取类名。
AOP编程(Aspect Oriented Program)是面向切面编程。
1)静态代理设计模式
通过代理类为原始类增加额外功能。避免原始类因为额外功能频繁被修改,从而使代码更加有利于维护。
代理类本质 = 原始类 + 额外功能 + 实现原始类的相同接口。
静态代理设计模式的问题:
1. 代理类的数量过多,不利于项目管理;
2. 额外功能代码冗余;
3. 替换代理的额外功能麻烦。
工厂设计模式是通过工厂类,完成一个对象的创建或者生产。好处:解耦和。底层实现是反射、读取配置文件获取类名。
AOP编程(Aspect Oriented Program)是面向切面编程。
1)静态代理设计模式
通过代理类为原始类增加额外功能。避免原始类因为额外功能频繁被修改,从而使代码更加有利于维护。
代理类本质 = 原始类 + 额外功能 + 实现原始类的相同接口。
静态代理设计模式的问题:
1. 代理类的数量过多,不利于项目管理;
2. 额外功能代码冗余;
3. 替换代理的额外功能麻烦。
2)spring的动态代理设计模式
通过代理类为原始类增加额外功能。利于原始类的维护。
AOP编程,就是spring的动态代理的开发,就是通过代理类为原始类增加额外的功能,利于原始类代码的维护。是基于动态代理设计模式。
AOP编程的开发步骤:
1.原始对象
2.额外功能
3.切入点
4.组装切面
AOP编程的实现原理:
1.动态代理类创建过程
1> 原始JDK动态代理技术完成;
Proxy.newProxyInstance(Classloader类加载器,原始对象所实现的接口,额外功能InvocationHandler);
2> cglib动态字节码增加技术完成。
动态代理类是程序运行的时候动态创建的,没有.java和.class文件。没有.class文件,所以就没有ClassLoader,也就不能运行在JVM。因此,动态代理类的创建就需要借用别的类的类加载器ClassLoader。
0 0
- spring的aop编程
- Spring的AOP编程
- spring的AOP编程
- Spring的AOP编程
- Spring的AOP编程
- Spring的Aop编程
- 【Spring】Spring的AOP编程
- Spring AOP编程的教程
- Spring容器的AOP编程
- 记录spring的aop编程
- Spring的AOP注解编程
- Spring的AOP切面编程
- 基于Spring的AOP编程
- Spring的AOP切面编程
- spring的AOP(四)----Spring AOP 编程(Advisor)
- spring的AOP(五)----Spring AOP 编程(AspectJ )
- Spring--AOP-AOP编程术语
- Spring 2.0中 AOP的编程
- sikuli的平凡之路
- spring mvc的实行代码—采用xml配置
- Qt 蓝牙部分翻译
- mfc入门
- 关于spring的基本知识介绍
- spring的AOP编程
- 神器 Qemu 一 利用X11 渲染将qmeu 跑在Windows 上
- mybatis报错spring.MyBatisSystemException
- 网络流算法--Ford-Fulkerson方法及其多种实现
- jQuery 如何得到 scrollHeight 的值
- struts三种方法设置作用域 已经贴了代码
- 百度地图 定位功能
- 经典算法学习——链表中倒数第k个节点
- AndroidStudio导入项目一直卡在Building gradle project info最快速解决方案