在文章Spring AOP之术语简介中有提到,introduction
代表为一个类添加的新字段或方法定义。Spring AOP允许我们为任何对象introduce
(引入)新的接口实现。
如何使用Introduction
Spring为我们提供了一个注解@DeclareParents
来定义需要introduce
(引入)新的接口实现的类、以及默认的接口实现类型。
@DeclareParents(value="com.xzy.myapp.service.*+", defaultImpl=DefaultUsageTracked.class) //所有`com.xzy.myapp.service`包下的类及其子类均新增对`UsageTracked`接口的实现,默认实现类为`DefaultUsageTracked`
public static UsageTracked mixin;
举例说明
- 定义一个接口RunInterface
public interface RunInterface