public abstract class AopFactoryBase extends Object
| 限定符和类型 | 字段和说明 |
|---|---|
protected Map<Class<?>,BeanCreator<?>> |
beanCreators
bean loaders
|
protected Map<Class<?>,BeanInjector<?>> |
beanInjectors
bean injectors
|
protected Map<String,BeanWrap> |
beans
bean库
|
protected Map<Class<?>,BeanWrap> |
beanWraps
bean包装库
|
protected Map<Class<?>,Class<?>> |
clzMapping
clz mapping
|
protected Set<Runnable> |
loadedEvent
bean 加载完成事件
|
protected Set<BeanSubscriber> |
subSet
bean订阅者
|
| 构造器和说明 |
|---|
AopFactoryBase() |
| 限定符和类型 | 方法和说明 |
|---|---|
<T extends Annotation> |
beanCreatorAdd(Class<T> anno,
BeanCreator<T> creater)
添加 bean creator, injector
|
<T extends Annotation> |
beanInjectorAdd(Class<T> anno,
BeanInjector<T> injector) |
void |
beanNotice(Object key,
BeanWrap wrap)
bean通知
|
void |
beanSubscribe(Object key,
Consumer<BeanWrap> callback)
bean订阅
|
BeanWrap |
getWrap(Object key)
获取一个bean包装
|
void |
putWrap(Class<?> key,
BeanWrap wrap)
注册到bean库(注册成功会进行通知)
|
void |
putWrap(String key,
BeanWrap wrap)
注册到bean库(注册成功会进行通知)
|
void |
tryBuildBean(XBean anno,
MethodWrap mWrap,
BeanWrap bw,
XInject beanInj,
Function<Parameter,String> injectVal)
尝试构建 bean
|
protected void |
tryBuildBean0(XBean anno,
XInject beanInj,
Class<?> clz,
Object raw) |
void |
tryCreateBean(Class<?> clz)
尝试生成 bean
|
protected <T extends Annotation> |
tryCreateBeanByAnno(Class<?> clz,
T anno,
BeanCreator<T> loader)
尝试一个注解处理
|
protected void |
tryInject(VarHolder varH,
Annotation[] annS)
尝试为bean注入
|
void |
tryInjectByName(VarHolder varH,
String name)
尝试变量注入 字段或参数
|
BeanWrap |
wrap(Class<?> clz,
Object bean) |
protected final Map<Class<?>,BeanCreator<?>> beanCreators
protected final Map<Class<?>,BeanInjector<?>> beanInjectors
protected final Set<BeanSubscriber> subSet
public <T extends Annotation> void beanCreatorAdd(Class<T> anno, BeanCreator<T> creater)
public <T extends Annotation> void beanInjectorAdd(Class<T> anno, BeanInjector<T> injector)
public void putWrap(String key, BeanWrap wrap)
wrap - 如果raw为null,拒绝注册public void putWrap(Class<?> key, BeanWrap wrap)
wrap - 如果raw为null,拒绝注册protected void tryInject(VarHolder varH, Annotation[] annS)
public void tryCreateBean(Class<?> clz)
protected <T extends Annotation> void tryCreateBeanByAnno(Class<?> clz, T anno, BeanCreator<T> loader)
public void tryBuildBean(XBean anno, MethodWrap mWrap, BeanWrap bw, XInject beanInj, Function<Parameter,String> injectVal) throws Exception
anno - bean 注解mWrap - 方法包装器bw - bean 包装器beanInj - 类注入injectVal - 参数注入ExceptionCopyright © 2020. All rights reserved.