栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

3.笔记-aop切点切面,cglib,jdk代理,自定义注解

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

3.笔记-aop切点切面,cglib,jdk代理,自定义注解

1.自定义注解
@Retention(RetentionPolicy.RUNTIME)
@Target({ElementType.ANNOTATION_TYPE, ElementType.METHOD, ElementType.TYPE})
public @interface Entity {
    String value() default "";
}

获取注解

public static String createSql(Object object){
    String str = "select * from ";
    Class clazz = object.getClass();
    if(clazz.isAnnotationPresent(Entity.class)){
        Entity entity = (Entity) clazz.getAnnotation(Entity.class);
        str += entity.value();
    }
    return str;
}
2.aop切面切点

pointcut:切点表示连接点的集合 -------------------> 表

(我的理解:PointCut是JoinPoint的谓语,这是一个动作,主要是告诉通知连接点在哪里,切点表达式决定 JoinPoint 的数量)

Joinpoint:连接点 目标对象中的方法 ----------------> 记录

(我的理解:JoinPoint是要关注和增强的方法,也就是我们要作用的点)

Weaving :把代理逻辑加入到目标对象上的过程叫做织入

target 目标对象 原始对象

aop Proxy 代理对象 包含了原始对象的代码和增加后的代码的那个对象

advice:通知 (位置 + logic)

* 申明切入点

​ * execution匹配方法执行连接点

public ,* ,(返回类型)包名(一级一个 .*). *(方法名)(…参数)

​ * within:将匹配限制为特定类型中的连接点

​ * args:参数

​ * target:目标对象

​ * this:代理对象

3.动态代理(jdk基于接口代理Proxy,java单继承不基于继承来代理)和cglib(进程代理,还是原对象)

this指代理对象

tragat指目标对象,真实对象

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/458909.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号