public class AppContext extends BeanContainer
beanBuilders, beanExtractors, beanInjectors, beanInterceptors, SYNC_LOCK| Constructor and Description |
|---|
AppContext() |
AppContext(ClassLoader classLoader,
Props props) |
AppContext(Props props) |
AppContext(SolonApp app,
ClassLoader classLoader,
Props props) |
| Modifier and Type | Method and Description |
|---|---|
protected void |
beanComponentized(BeanWrap bw,
boolean delivered)
组件化处理
|
void |
beanDeliver(BeanWrap bw)
尝试 bean 交付(特定能力接口交付)
|
void |
beanExclude(Class<?>... clzs)
排除扫描类(需要在扫描之前排除)
|
void |
beanExtractOrProxy(BeanWrap bw)
为一个对象提取函数或自动代理
|
void |
beanExtractOrProxy(BeanWrap bw,
boolean tryExtract,
boolean tryProxy)
为一个对象提取函数或自动代理
|
void |
beanImport(Import anno)
根据注解配置导入bean
|
void |
beanInject(Object obj)
为一个对象注入(可以重写)
|
protected void |
beanInject(VarHolder vh,
String name,
boolean required,
boolean autoRefreshed) |
BeanWrap |
beanMake(Class<?> clz)
::制造 bean 及对应处理
|
void |
beanScan(Class<?> source)
::扫描源下的所有 bean 及对应处理
|
void |
beanScan(ClassLoader classLoader,
String basePackage)
::扫描源下的所有 bean 及对应处理
|
void |
beanScan(String basePackage)
::扫描源下的所有 bean 及对应处理
|
void |
clear() |
protected void |
initialize()
::初始化(独立出 initialize,方便重写)
|
boolean |
isStarted()
是否已启动完成
|
boolean |
isStarting()
是否正在启动
|
void |
lifecycle(int index,
int priority,
Lifecycle lifecycle)
添加生命周期 bean
|
void |
lifecycle(int index,
Lifecycle lifecycle)
添加生命周期 bean
|
void |
lifecycle(int index,
LifecycleBean lifecycle)
添加生命周期 bean(保持向下兼容)
|
void |
lifecycle(Lifecycle lifecycle)
添加生命周期 bean
|
void |
lifecycle(LifecycleBean lifecycle)
添加生命周期 bean(保持向下兼容)
|
void |
methodForeach(Consumer<MethodWrap> action)
遍历method (拿到的是method包装)
|
MethodWrap |
methodGet(Class<?> clz,
Method method)
获取方法包装(方便 aot 收集)
|
MethodWrap |
methodGet(Method method)
获取方法包装(方便 aot 收集)
|
<T> AppContext |
onEvent(Class<T> type,
EventListener<T> handler)
订阅事件
|
<T> AppContext |
onEvent(Class<T> type,
int index,
EventListener<T> handler)
订阅事件
|
void |
prestop()
停止(一般在插件停止之后,再执行)
|
void |
start()
启动(一般在插件启动之后,应用完成扫描,再执行)
|
void |
stop()
停止(一般在插件停止之后,再执行)
|
protected void |
tryBuildArgsOfMethod(AppContext context,
int label,
Class<?> outType,
ParamWrap[] paramAry,
ConsumerEx<Object[]> completionConsumer)
尝试托管方法参数收集
|
protected int |
tryBuildBeanOfClass(Class<?> clz)
根据类尝试生成 bean(用 protected,方便扩展时复用)
|
void |
tryBuildBeanOfMethod(Method m,
BeanWrap bw,
BiConsumerEx<MethodWrap,Object> completionConsumer)
尝试托管方法调用
|
protected void |
tryBuildBeanOfMethod3(MethodWrap mWrap,
BeanWrap bw,
Object raw,
Bean anno)
尝试托管方法 bean 注册
|
protected void |
tryFill(Object obj,
Annotation[] annS)
尝试为bean填充
|
protected void |
tryInject(VarHolder vh,
Annotation[] annS)
尝试为bean注入
|
protected BeanWrap |
wrapCreate(Class<?> type,
Object bean,
String name,
boolean typed)
生成 bean 包装
|
aot, app, attachGet, attachOf, attachSet, beanBasePublish, beanBaseSubscribe, beanBindingSupT, beanBuilderAdd, beanBuilderAdd, beanExtractorAdd, beanExtractorHas, beanFillProperties, beanFind, beanFind, beanForeach, beanForeach, beanHashPublish, beanHashSubscribe, beanInject, beanInjectorAdd, beanInjectorAdd, beanInterceptorAdd, beanInterceptorAdd, beanInterceptorGet, beanInterceptorHas, beanInterceptorHas, beanPublish, beanRegister, beanRegisterSupI, beanStop0, cfg, copyTo, findConfigKey, getBean, getBean, getBean, getBean, getBeanAsync, getBeanAsync, getBeanOrDefault, getBeanOrDefault, getBeanOrNew, getBeansMapOfType, getBeansMapOfType, getBeansMapOfType, getBeansOfType, getBeansOfType, getBeansOfType, getClassLoader, getWrap, getWrapAsync, getWrapsOfType, hasWrap, putWrap, putWrap, removeWrap, removeWrap, subBeansOfType, subBeansOfType, subWrapsOfType, subWrapsOfType, subWrapsOfType, subWrapsOfType, wrap, wrap, wrap, wrap, wrap, wrap, wrap, wrapAndPut, wrapAndPut, wrapAndPut, wrapAndPut, wrapAndPut, wrapPublishpublic AppContext()
public AppContext(Props props)
public AppContext(ClassLoader classLoader, Props props)
public AppContext(SolonApp app, ClassLoader classLoader, Props props)
public <T> AppContext onEvent(Class<T> type, EventListener<T> handler)
public <T> AppContext onEvent(Class<T> type, int index, EventListener<T> handler)
public MethodWrap methodGet(Method method)
method - 方法public MethodWrap methodGet(Class<?> clz, Method method)
method - 方法public void methodForeach(Consumer<MethodWrap> action)
action - 遍历动作public void clear()
clear in class BeanContainerprotected BeanWrap wrapCreate(Class<?> type, Object bean, String name, boolean typed)
wrapCreate in class BeanContainerprotected void initialize()
protected void beanComponentized(BeanWrap bw, boolean delivered)
bw - bean 包装器delivered - 要交付的(特定能力接口交付)protected void beanInject(VarHolder vh, String name, boolean required, boolean autoRefreshed)
beanInject in class BeanContainerpublic void beanDeliver(BeanWrap bw)
bw - Bean 包装public void beanExtractOrProxy(BeanWrap bw)
public void beanExtractOrProxy(BeanWrap bw, boolean tryExtract, boolean tryProxy)
tryExtract - 尝试提取tryProxy - 尝试代理public void beanInject(Object obj)
public void beanExclude(Class<?>... clzs)
public void beanImport(Import anno)
public void beanScan(Class<?> source)
public void beanScan(String basePackage)
public void beanScan(ClassLoader classLoader, String basePackage)
protected void tryFill(Object obj, Annotation[] annS)
protected void tryInject(VarHolder vh, Annotation[] annS)
public void tryBuildBeanOfMethod(Method m, BeanWrap bw, BiConsumerEx<MethodWrap,Object> completionConsumer) throws Throwable
Throwableprotected void tryBuildArgsOfMethod(AppContext context, int label, Class<?> outType, ParamWrap[] paramAry, ConsumerEx<Object[]> completionConsumer)
protected void tryBuildBeanOfMethod3(MethodWrap mWrap, BeanWrap bw, Object raw, Bean anno)
protected int tryBuildBeanOfClass(Class<?> clz)
public void lifecycle(LifecycleBean lifecycle)
public void lifecycle(int index,
LifecycleBean lifecycle)
public void lifecycle(Lifecycle lifecycle)
lifecycle in class BeanContainerpublic void lifecycle(int index,
Lifecycle lifecycle)
lifecycle in class BeanContainerindex - 顺序public void lifecycle(int index,
int priority,
Lifecycle lifecycle)
lifecycle in class BeanContainerindex - 顺序priority - 优先级(此处,相当于二级顺序)public boolean isStarting()
public boolean isStarted()
public void start()
public void prestop()
public void stop()
Copyright © 2025. All rights reserved.