结构
X包下 A类 继承Y包下 B类
B类为抽象类
B类代码
public void work(Map<String, Object> context, AbstractAdapter starter) {
this.setUp(context);
try {
this.execute(context, starter);
} finally {
this.tearDown(context);
}
}
protected abstract void execute(Map<String, Object> var1, AbstractAdapter var2);
A类代码
public class A extends B{
@Autowired
private SRService srService;
@Autowired
private OutletService outletService;
@Override
protected Object execute(Map<String, Object> context) {
...
}
Ctroller入口
B b = AdapterFactory.getFactory(A的标识);
b.work(adapterContext);
AOP配置
@Pointcut("execution(public * X..*.*(..))")
现象1 切 X 包,A类未被代理,方法未被拦截
现象2 切 X 包,A类中 execute 方法改为 public A类被代理,方法未被拦截
现象3 切 X 包,