Spring动态代理

动态代理设计模式(Dynamic Proxy)

一、开发步骤

  1. 开发原始类 -- 核心功能

①规范

 

②原始类

 

2.配置原始类的相关信息

 

3.定义额外功能

4.配置额外功能类的相关信息

 

5.定义切点

6.组装切面

7.测试

二:切入点表达式的含义

分类:(3种) 方法切入点、类切入点、包切入点

1.方法切入点 -- 维度:只与方法有关,与类和包无关

例:①为注册regist()方法添加额外功能

②为带有一个参数为String类型的regist()方法添加额外功能

③为带有两个参数为String类型的regist()方法添加额外功能

④为第一个参数为String类型,后面参数不管的regist()方法添加额外功能

2.类切入点

例:为所有包以及子包下的UserServiceImpl类中的第一个参数为String的regist()方法添加额外功能

3.包切入点

例:为com.hp.service中的UserServiceImpl类的带一个String参数的regist方法添加额外功能

三:切入点函数

除execution外,常用的还有args和within

1.args:只专注于方法的参数

例:①为带有一个参数为String类型的regist()方法添加额外功能

  原:execution(* *(String))

args(String)

        ②为第一个参数为String类型,后面参数不管的regist()方法添加额外功能

原:execution(* *(String,..))

args(String,..)

2.within:只专注于包和类

例:①给UserServiceImpl类中的所有方法添加额外功能

原:execution(* *..UserServiceImpl.*(..))

within(*..UserServiceImpl)

②给com.hp.service包以及子包下所有类中的方法添加额外功能

原:execution(* com.hp.service..*.*(..))

within(com.hp.service..*)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值