类的结构如下:
其中Logger、Privilege、Security是三个切面,这里为简单起见,每个类中各一个方法输出一句话。ISalaryManager为目标接口,SalaryManager为目标类。
applicationContext.xml的配置如下:
测试方法如下:
注意测试方法中注掉的部分和它上面那一行是两种不同实现,如果目标类实现了目标接口,spring会使用jdk动态代理。如果没有实现接口(就像注释掉的那样写),spring会使用cglib动态代理。
类的结构如下:
其中Logger、Privilege、Security是三个切面,这里为简单起见,每个类中各一个方法输出一句话。ISalaryManager为目标接口,SalaryManager为目标类。
applicationContext.xml的配置如下:
测试方法如下:
注意测试方法中注掉的部分和它上面那一行是两种不同实现,如果目标类实现了目标接口,spring会使用jdk动态代理。如果没有实现接口(就像注释掉的那样写),spring会使用cglib动态代理。
相关文章: