摘要:
通过@Before @After @Around都注解,我们为对象原有的方法添加上了新的功能。那么,我们能不能为对象添加新的方法呢?通过 @DeclareParents ,答案是肯定的。 定义一个 Person 的空类及其子类 Student 定义一个名为 Skill 的接口及它的实现类 Skill 阅读全文
摘要:
有时候,我们需要将被通知方法的实参传递给通知,这时就要用到args()了。 这个范例中,假设有一个CD类、Player类,而CD只记录了CD的音轨信息,Player只实现了CD的播放功能。如果我们需要记录音轨的播放次数,当然可以通过CD或Player来实现,但是,记录次数这个功能是否应该由它们来实现 阅读全文
摘要:
前置通知(@Before)和后置通知(@After)有着一些非常明显的限制,比如不使用类的成员变量的话,这些通知之间想实现信息共享是非常的困难。而使用成员变量的话,又容易出线程安全的问题。 所以就有环绕通知(@Around)。通过环绕通知,我们可以在一个方法内完成前置、后置、异常(@AfterThr 阅读全文
摘要:
网络上关于Spring AOP的范例大都是使用xml作配置文件,见此特地写一些JavaConfig的范例,既为加深理解,亦为加强记忆。如需引用或转载的同学,请注明来源。 使用Spring AOP,要成功运行起代码,只用Spring提供给开发者的jar包是不够的,请额外上网下载两个jar包导入项目中: 阅读全文