jfinal 类内部方法调用也走了拦截器

   有一个类 A

    他上边配置了Interceptor1 Interceptor2

    A里面有两个public 方法   M1 M2

    在M1中调用了M2

package com.future.service;

import com.jfinal.aop.Before;

@Before(Interceptor1.class,Interceptor2.class)
public class A {
	public void M1(){
		this.M2();
	}
	public void M2(){
		
	}
}

通过AOP.get(A.class)获取A的实例 a1

这是a1.M1(); 会被 Interceptor1  Interceptor2拦截

M1()内部调用M2又会被Interceptor1  Interceptor2拦截

也就是说内部调用也走了拦截器

感觉这样不大好,内部调用M2就没有必要再拦截了,仅从入口方法拦截



评论区

JFinal

2019-04-04 17:52

因为 M2 是 public 方法, 而 class 级别是拦截所有 public 方法的,这个功能本身就是这样设计的

热门反馈

扫码入社