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, triggerprotected 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)
AopConfigrationgetInterceptorPairList 在接口中 AopConfigrationioc - 如果拦截器来自ioc容器,则需要提供这个参数klass - 需要拦截的类public IocObject load(IocLoading loading, java.lang.String name) throws ObjectLoadException
IocLoaderload 在接口中 IocLoaderObjectLoadException