T
- 注解类,记得声明@Retention(RetentionPolicy.RUNTIME)哦public abstract class SimpleAopMaker<T extends java.lang.annotation.Annotation> extends AbstractLifeCycle implements IocLoader, AopConfigration
1. 声明一个自定义注解
2. 声明一个AopLoader类,继承本类,实现makeIt方法
3. 在@IocBy中引用即可该AopLoader类即可
LifeCycle.Event, LifeCycle.Listener
限定符和类型 | 字段和说明 |
---|---|
protected java.lang.Class<T> |
annoClass |
protected java.lang.String |
iocName |
IOCNAME
构造器和说明 |
---|
SimpleAopMaker() |
限定符和类型 | 方法和说明 |
---|---|
java.lang.Class<T> |
_anno() |
java.lang.String |
_name() |
boolean |
checkClass(java.lang.Class<?> klass) |
boolean |
checkMethod(java.lang.reflect.Method method) |
java.util.List<InterceptorPair> |
getInterceptorPairList(Ioc ioc,
java.lang.Class<?> klass)
获取需要method与拦截器的对应关系,建议不要返回null
|
java.lang.String[] |
getName() |
boolean |
has(java.lang.String name) |
IocObject |
load(IocLoading loading,
java.lang.String name)
每次这个函数被调用,则要构造一个新的 IocObject
|
abstract java.util.List<? extends MethodInterceptor> |
makeIt(T t,
java.lang.reflect.Method method,
Ioc ioc) |
depose, fetch, init, trigger
protected java.lang.Class<T extends java.lang.annotation.Annotation> annoClass
protected java.lang.String iocName
public java.lang.String _name()
public java.lang.Class<T> _anno()
public abstract java.util.List<? extends MethodInterceptor> makeIt(T t, java.lang.reflect.Method method, Ioc ioc)
public boolean checkMethod(java.lang.reflect.Method method)
public boolean checkClass(java.lang.Class<?> klass)
public java.util.List<InterceptorPair> getInterceptorPairList(Ioc ioc, java.lang.Class<?> klass)
AopConfigration
getInterceptorPairList
在接口中 AopConfigration
ioc
- 如果拦截器来自ioc容器,则需要提供这个参数klass
- 需要拦截的类public IocObject load(IocLoading loading, java.lang.String name) throws ObjectLoadException
IocLoader
load
在接口中 IocLoader
ObjectLoadException