AOP这些应用场景(交叉业务)

1.统计某个方法的性能,可以在每个业务方法执行前后 记录方法执行的当前时间,执行后的时间-执行前的时间= 方法执行时间。  这样就可以在开发过程中(项目未交付给客户前)统计程序的性能。

2.安全 ,权限相关

3.数据库事务(spring已经集成)

4.日志

调用代理对象,由代理对象调用目标对象,只是在调用前后加一些逻辑。如日志,事务,安全,时长统计

这些需求都是在很多各地方用到的,如果采用硬编码的方式很难维护。

时间: 2024-09-28 08:27:51

AOP这些应用场景(交叉业务)的相关文章

Java-动态代理技术

1.程序中的代理 为具有相同接口的目标类的各个方法,添加一些系统功能,如日志,异常处理,计算方法运行的 时间,事务管理等等,都可以交给另一个类去实现这些功能,该类称为代理类. 注意:为了让代理类共享目标类中的各个方法,可以让代理类实现和目标类相同的接口. public class AProxy { //AProxy类为A的代理类,可以计算sayHi方法的运行时间 public void getTime() { //方法开始前时间 new A().sayHi(); //方法结束后时间 } } cl

黑马程序员-java-高新技术下《九》

                   --Java培训.Android培训.iOS培训..Net培训.期待与您交流! -- 一:动态代理技术 1.程序中的代理 为具有相同接口的目标类的各个方法,添加一些系统功能,如日志,异常处理,计算方法运行的 时间,事务管理等等,都可以交给另一个类去实现这些功能,该类称为代理类. 注意:为了让代理类共享目标类中的各个方法,可以让代理类实现和目标类相同的接口. public class AProxy {     //AProxy类为A的代理类,可以计算sayHi

Java——动态代理技术

1.程序中的代理 为具有相同接口的目标类的各个方法,添加一些系统功能,如日志,异常处理,计算方法运行的 时间,事务管理等等,都可以交给另一个类去实现这些功能,该类称为代理类. 注意:为了让代理类共享目标类中的各个方法,可以让代理类实现和目标类相同的接口. public class AProxy { //AProxy类为A的代理类,可以计算sayHi方法的运行时间 public void getTime() { //方法开始前时间 new A().sayHi(); //方法结束后时间 } } cl

java高新技术下《九》

一:动态代理技术 1.程序中的代理 为具有相同接口的目标类的各个方法,添加一些系统功能,如日志,异常处理,计算方法运行的 时间,事务管理等等,都可以交给另一个类去实现这些功能,该类称为代理类. 注意:为了让代理类共享目标类中的各个方法,可以让代理类实现和目标类相同的接口. public class AProxy { //AProxy类为A的代理类,可以计算sayHi方法的运行时间 public void getTime() { //方法开始前时间 new A().sayHi(); //方法结束后

GOF业务场景的设计模式-----责任链模式

定义:使多个对象都有机会处理请求,从而避免了请求的发送者和接收者之间的耦合关系.将这些对象连成一条链,并沿着这条链传递该请求,直到有对象处理它为止. 首先来看一段代码: public void test(int i, Request request){ if(i==1){ Handler1.response(request); }else if(i == 2){ Handler2.response(request); }else if(i == 3){ Handler3.response(req

使用Spring AOP实现业务依赖解耦

Spring IOC用于解决对象依赖之间的解耦,而Spring AOP则用于解决业务依赖之间的解耦: 统一在一个地方定义[通用功能],通过声明的方式定义这些通用的功能以何种[方式][织入]到某些[特定应用]里去,并且[不需要修改]特定应用的代码:-1通用功能:<aop:aspect>如日志.安全或事务,具体的方法动作称为Advice:-2方式:<aop:before|after-returning|around>如方法调用.字段修改和抛出异常,Spring AOP仅支持方法调用(m

Spring IOC 和 AOP

Spring是一个轻量级的控制反转(IoC)和面向切面(AOP)的容器框架. 1.控制反转(IOC)/依赖注入(DI): 在传统的程序设计中,当调用者须要被调用者的协助时,通常由调用者来创建被调用者的实例. 但在spring里创建被调用者的工作不再由调用者来完毕.因此控制反转(IoC),为什么称为反转呢?反转是相对于正向而言的,那么什么算是正向的呢?考虑一下常规情况下的应用程序,假设要在A里面使用C,你会怎么做呢?当然是直接去创建C的对象,也就是说,是在A类中主动去获取所须要的外部资源C.这样的

Spring框架第五篇之Spring与AOP

一.AOP概述 AOP(Aspect Orient Programming),面向切面编程,是面向对象编程OOP的一种补充.面向对象编程是从静态角度考虑程序的结构,而面向切面编程是从动态角度考虑程序运行过程. AOP底层就是采用动态代理模式实现的,采用了两种代理:JDK的动态代理与CGLIB的动态代理. 面向切面编程,就是将交叉业务逻辑封装成切面,利用AOP容器的功能将切面织入到主业务逻辑中.所谓交叉业务逻辑是指,通用的.与主业务逻辑无关的代码.如安全检查.事务.日志等. 若不是用AOP,则会出

关于 Spring AOP (AspectJ) 你该知晓的一切

[版权申明]未经博主同意,谢绝转载!(请尊重原创,博主保留追究权) http://blog.csdn.net/javazejian/article/details/54629058 出自[zejian的博客] 关联文章: 关于Spring IOC (DI-依赖注入)你需要知道的一切 关于 Spring AOP (AspectJ) 你该知晓的一切 本篇是年后第一篇博文,由于博主用了不少时间在构思这篇博文,加上最近比较忙,所以这篇文件写得比较久,也分了不同的时间段在写,已尽最大能力去连贯博文中的内容