public class AppContext extends BeanContainer
beanBuilders, beanExtractors, beanInjectors, beanInterceptors, beanSubscribers, SYNC_LOCK, wrapExternalConsumers
构造器和说明 |
---|
AppContext(java.lang.ClassLoader classLoader,
Props props) |
限定符和类型 | 方法和说明 |
---|---|
protected void |
beanComponentized(BeanWrap bw)
组件化处理
|
void |
beanExtractOrProxy(BeanWrap bw)
为一个对象提取函数或自动代理
|
void |
beanImport(Import anno)
根据配置导入bean
|
void |
beanInject(java.lang.Object obj)
为一个对象注入(可以重写)
|
protected void |
beanInject(VarHolder varH,
java.lang.String name,
boolean required,
boolean autoRefreshed) |
void |
beanLoaded()
已过时。
2.2
|
BeanWrap |
beanMake(java.lang.Class<?> clz)
::制造 bean 及对应处理
|
void |
beanOnloaded(java.util.function.Consumer<AppContext> fun)
已过时。
2.2
|
void |
beanOnloaded(int index,
java.util.function.Consumer<AppContext> fun)
已过时。
2.2
|
void |
beanScan(java.lang.Class<?> source)
::扫描源下的所有 bean 及对应处理
|
void |
beanScan(java.lang.ClassLoader classLoader,
java.lang.String basePackage)
::扫描源下的所有 bean 及对应处理
|
void |
beanScan(java.lang.String basePackage)
::扫描源下的所有 bean 及对应处理
|
void |
beanShapeRegister(java.lang.Class<?> clz,
BeanWrap bw,
java.lang.reflect.AnnotatedElement annoEl)
尝试 bean 形态注册
|
void |
clear() |
protected void |
initialize()
::初始化(独立出 initialize,方便重写)
|
boolean |
isStarted()
是否已启动
|
void |
lifecycle(int index,
LifecycleBean lifecycle)
添加生命周期 bean
|
void |
lifecycle(LifecycleBean lifecycle)
添加生命周期 bean
|
void |
methodForeach(java.util.function.Consumer<MethodWrap> action)
遍历method (拿到的是method包装)
|
MethodWrap |
methodGet(java.lang.reflect.Method method)
获取方法包装(方便 aot 收集)
|
<T> AppContext |
onEvent(java.lang.Class<T> type,
EventListener<T> handler)
订阅事件
|
<T> AppContext |
onEvent(java.lang.Class<T> type,
int index,
EventListener<T> handler)
订阅事件
|
void |
prestop()
停止(一般在插件停止之后,再执行)
|
void |
start()
启动(一般在插件启动之后,应用完成扫描,再执行)
|
void |
stop()
停止(一般在插件停止之后,再执行)
|
protected void |
tryBuildBean(Bean anno,
MethodWrap mWrap,
BeanWrap bw)
尝试构建 bean
|
protected void |
tryBuildBean0(MethodWrap mWrap,
Bean anno,
java.lang.Object raw) |
protected void |
tryBuildBeanDo(Bean anno,
MethodWrap mWrap,
BeanWrap bw,
java.lang.Object[] args) |
protected void |
tryCreateBeanOfClass(java.lang.Class<?> clz)
尝试生成 bean,并注册
|
protected void |
tryCreateBeanOfMethod(BeanWrap bw,
java.lang.reflect.Method m,
Bean ma)
尝试生成 bean
|
protected void |
tryInject(VarHolder varH,
java.lang.annotation.Annotation[] annS)
尝试为bean注入
|
protected BeanWrap |
wrapCreate(java.lang.Class<?> type,
java.lang.Object bean,
java.lang.String name)
生成 bean 包装
|
aot, attachmentGet, attachmentOf, attachmentSet, beanAroundAdd, beanAroundAdd, beanAroundGet, beanBuilderAdd, beanExtractorAdd, beanExtractorHas, beanFind, beanFind, beanForeach, beanForeach, beanInject, beanInjectorAdd, beanInjectProperties, beanInterceptorAdd, beanInterceptorAdd, beanInterceptorGet, beanNotice, beanRegister, beanRegisterSup0, beanStop0, beanSubscribe, cfg, copyTo, findConfigKey, getAttrs, getBean, getBean, getBeanAsync, getBeanAsync, getBeanOrNew, getBeansMapOfType, getBeansOfType, getClassLoader, getWrap, getWrapAsync, getWrapsOfType, hasWrap, putWrap, putWrap, removeWrap, removeWrap, subBeansOfType, subWrapsOfType, wrap, wrap, wrap, wrapAndPut, wrapAndPut, wrapExternalSubscribe, wrapPublish
public AppContext(java.lang.ClassLoader classLoader, Props props)
public <T> AppContext onEvent(java.lang.Class<T> type, EventListener<T> handler)
public <T> AppContext onEvent(java.lang.Class<T> type, int index, EventListener<T> handler)
public MethodWrap methodGet(java.lang.reflect.Method method)
method
- 方法public void methodForeach(java.util.function.Consumer<MethodWrap> action)
action
- 遍历动作public void clear()
clear
在类中 BeanContainer
protected BeanWrap wrapCreate(java.lang.Class<?> type, java.lang.Object bean, java.lang.String name)
wrapCreate
在类中 BeanContainer
protected void initialize()
protected void beanComponentized(BeanWrap bw)
protected void beanInject(VarHolder varH, java.lang.String name, boolean required, boolean autoRefreshed)
beanInject
在类中 BeanContainer
public void beanShapeRegister(java.lang.Class<?> clz, BeanWrap bw, java.lang.reflect.AnnotatedElement annoEl)
clz
- 类bw
- Bean 包装annoEl
- 有注解元素(类 或 方法)public void beanExtractOrProxy(BeanWrap bw)
public void beanInject(java.lang.Object obj)
public void beanImport(Import anno)
public void beanScan(java.lang.Class<?> source)
public void beanScan(java.lang.String basePackage)
public void beanScan(java.lang.ClassLoader classLoader, java.lang.String basePackage)
public BeanWrap beanMake(java.lang.Class<?> clz)
protected void tryInject(VarHolder varH, java.lang.annotation.Annotation[] annS)
protected void tryCreateBeanOfMethod(BeanWrap bw, java.lang.reflect.Method m, Bean ma) throws java.lang.Throwable
java.lang.Throwable
protected void tryCreateBeanOfClass(java.lang.Class<?> clz)
protected void tryBuildBean(Bean anno, MethodWrap mWrap, BeanWrap bw) throws java.lang.Throwable
anno
- bean 注解mWrap
- 方法包装器bw
- bean 包装器java.lang.Throwable
protected void tryBuildBeanDo(Bean anno, MethodWrap mWrap, BeanWrap bw, java.lang.Object[] args) throws java.lang.Throwable
java.lang.Throwable
protected void tryBuildBean0(MethodWrap mWrap, Bean anno, java.lang.Object raw)
@Deprecated public void beanOnloaded(java.util.function.Consumer<AppContext> fun)
@Deprecated public void beanOnloaded(int index, java.util.function.Consumer<AppContext> fun)
@Deprecated public void beanLoaded()
public void lifecycle(LifecycleBean lifecycle)
lifecycle
在类中 BeanContainer
public void lifecycle(int index, LifecycleBean lifecycle)
lifecycle
在类中 BeanContainer
public boolean isStarted()
public void start()
public void prestop()
public void stop()