spring2 Aop与事务、权限管理

1.aop的应用场景?
在这里插入图片描述
2.Aop的原理?
Aop 指面向切面编程,作为面向对象的补充,用于处理系统中分布于各个模块的横切关注点,比如事务管理、日志、缓存等。Aop实现的关键在于AOP框架自动创建AOP代理,主要分为:静态代理和动态代理,静态代理的代表为AspectJ;而动态代理则以Speing Aop为代表。

Spring Aop中的动态代理主要有两种方式,JDK动态代理和CGLIB动态代理。JDK动态代理通过反射来接受被代理的类,并且要求被代理的类必须实现一个接口。JDK动态代理的核心是InvocationHandler接口和Proxy类。

如果目标类没有实现接口,那么Spring Aop会选择使用CGLIB动态代理目标类。CGLIB,是一个代码生成的类库,可以在运行时动态的生成某个类的子类。

3.如何理解AOP中的连接点、切点、增强、引介、织入、切面这些概念

  1. 连接点:程序执行的某个特定位置(如:某个方法调用前、调用后,方法抛出异常后)。一个类或一段程序拥有一些具有边界性质的特定点,这些代码中的特定点就是连接点。

  2. 切点:如果连接点相当于数据中的记录,那么切点相当于查询条件,一个切点可以匹配多个连接点。Spring Aop的规则解析引擎负责解析切点所设定的查询条件,找到对应的连接点。

  3. 增强:增强是织入到目标类连接点上的一段程序代码。Spring提供的增强接口都是带方位名的,如:BeforeAdvice…

  4. 引介:引介是一种特殊的增强。它为类添加一些属性和方法。

  5. 织入:织入是将增强添加到目标类具体连接点上的过程。

  6. 切面:前面是由切点和增强(引介)组成的,它包括了对横切关注功能的定义,也包括了对连接点的定义。

    								***帅气的远远啊***
    
发布了61 篇原创文章 · 获赞 50 · 访问量 1万+

猜你喜欢

转载自blog.csdn.net/qq_41585840/article/details/104130507
今日推荐