public class DependCenter extends Object implements DependGetter, DependInjector, Closeable
| Constructor and Description |
|---|
DependCenter()
构造
|
DependCenter(DependGetter dependGetter)
构造
|
| Modifier and Type | Method and Description |
|---|---|
void |
close() |
Object |
constant(String name)
获取常量值
常量只能通过名称获取
|
<T> T |
constant(String name,
Class<T> type)
获取常量值,转化数据类型
|
<T> T |
get(Class<T> type)
获取依赖
|
<T> T |
get(Class<T> type,
DependGetter additionalDepends)
通过额外参数对某个对象进行强制注入
|
Object |
get(String name)
获取依赖,当使用名称获取时,以非常量类型依赖为准
|
<T> T |
get(String name,
Class<T> type)
获取依赖
|
<T> T |
get(String name,
Class<T> type,
DependGetter additionalDepends)
通过额外参数对某个对象进行强制注入
|
Object |
get(String name,
DependGetter additionalDepends)
通过额外参数对某个对象进行强制注入
|
<T> List<T> |
getByType(Class<T> superType)
根据一个父类类型,获取所有存在的子类。理论上效率较低
|
<T> T[] |
getByType(Class<T> superType,
T[] a)
根据一个父类类型,获取所有存在的子类。理论上效率较低
|
Object |
getConstant(String name)
获取常量值
常量只能通过名称获取
|
<T> T |
getConstant(String name,
Class<T> type)
获取常量值,转化数据类型
|
<T> Depend<T> |
getDepend(Class<T> type)
通过类型获取依赖对象
|
<T> Depend<T> |
getDepend(Class<T> type,
boolean orNull)
Deprecated.
|
Depend |
getDepend(String name)
通过名称获取依赖对象
|
Depend |
getDepend(String name,
boolean orNull)
Deprecated.
|
<T> Depend<T> |
getDepend(String name,
Class<T> type) |
<T> T |
getDependInstance(Class<T> type)
通过类型获取依赖
|
Object |
getDependInstance(String name)
通过名称获取依赖
|
<T> T |
getDependInstance(String name,
Class<T> type)
通过名称获取依赖,转化为指定类型
|
<T> List<T> |
getListByType(Class<T> type)
根据类型获取其所有实现类
|
Object[] |
getMethodParameters(Method method)
通过方法获取可以注入的参数
|
Object[] |
getMethodParameters(Method method,
AdditionalDepends addParams)
通过方法获取可以注入的参数
|
Object[] |
getMethodParameters(Parameter[] parameters)
通过方法获取可以注入的参数
|
Object[] |
getMethodParameters(Parameter[] parameters,
AdditionalDepends addParams)
获取可以注入的参数
|
<T> List<Class<? extends T>> |
getTypesBySuper(Class<T> superType)
根据父类类型寻找依赖池中的存在的子类类型列表
只能得到当前依赖中心中的内容
|
void |
initDependWhoNeed()
初始化一次需要被初始化的Depend
|
DependCenter |
load(Beans beanAnno,
Class<?>... loadsClasses)
判断规则默认为非接口、非抽象类且存在@Beans注解的class对象
|
DependCenter |
load(Beans BeansAnno,
Predicate<Class> classTest,
Class<?>... loadsClasses)
加载一批依赖对象
|
DependCenter |
load(Class<?>... loadsClasses)
判断规则默认为非接口、抽象类且存在@Beans注解的class对象
|
DependCenter |
load(Collection<Class<?>> list)
判断规则默认为非接口、抽象类且存在@Beans注解的class对象
|
DependCenter |
load(Predicate<Class> classTest,
Class<?>... loadsClasses)
加载一批依赖对象
|
DependCenter |
load(Predicate<Class> classTest,
Collection<Class<?>> list)
加载一批依赖对象
|
<T> DependCenter |
load(String name,
T bean)
根据一个对象直接添加,默认为单例模式
|
<T> DependCenter |
load(T bean)
根据一个对象直接添加,默认为单例模式
依赖名称默认使用类名
|
<T> DependCenter |
loadIgnoreThrow(T bean)
根据一个对象直接添加,默认为单例模式
依赖名称默认使用类名
无视出现的异常 |
public DependCenter()
public DependCenter(DependGetter dependGetter)
public void initDependWhoNeed()
public <T> DependCenter load(T bean)
bean - 实例对象public <T> DependCenter loadIgnoreThrow(T bean)
bean - 实例对象public <T> DependCenter load(String name, T bean)
name - 依赖名称bean - 实例对象public DependCenter load(Predicate<Class> classTest, Collection<Class<?>> list)
public DependCenter load(Collection<Class<?>> list)
list - classes对象列表public DependCenter load(Class<?>... loadsClasses)
loadsClasses - classes对象列表public DependCenter load(Beans beanAnno, Class<?>... loadsClasses)
loadsClasses - classes对象列表public DependCenter load(Predicate<Class> classTest, Class<?>... loadsClasses)
classTest - class判断类,如果有特殊规则则填写,例如全部包扫描的时候,没有注解的类也可以通过public DependCenter load(Beans BeansAnno, Predicate<Class> classTest, Class<?>... loadsClasses)
classTest - class判断类,如果有特殊规则则填写,例如全部包扫描的时候,没有注解的类也可以通过public Object[] getMethodParameters(Method method, AdditionalDepends addParams)
method - 方法对象addParams - 额外参数
当存在额外参数的时候,优先使用额外参数进行注入public Object[] getMethodParameters(Parameter[] parameters, AdditionalDepends addParams)
parameters - 参数列表addParams - 额外参数, 当存在额外参数的时候,优先使用额外参数进行注入public Object[] getMethodParameters(Method method)
method - 方法对象public Object[] getMethodParameters(Parameter[] parameters)
parameters - 方法对象public <T> List<Class<? extends T>> getTypesBySuper(Class<T> superType)
superType - 父类类型public <T> List<T> getByType(Class<T> superType)
T - 父类类型,例如一个接口类型public <T> T[] getByType(Class<T> superType, T[] a)
superType - 父类类型,例如一个接口类型a - 转化为数组getByType(Class, Object[])@Deprecated public <T> Depend<T> getDepend(Class<T> type, boolean orNull)
T - type - orNull - @Deprecated public Depend getDepend(String name, boolean orNull)
name - orNull - public <T> T getDependInstance(String name, Class<T> type)
ClassCastExceptionpublic <T> T getDependInstance(Class<T> type)
public <T> T get(Class<T> type, DependGetter additionalDepends)
public Object get(String name, DependGetter additionalDepends)
public <T> T get(String name, Class<T> type, DependGetter additionalDepends)
public <T> T get(Class<T> type)
get in interface DependGetterpublic <T> T get(String name, Class<T> type)
get in interface DependGetterpublic Object get(String name)
get in interface DependGetterpublic Object constant(String name)
constant in interface DependGetterpublic <T> T constant(String name, Class<T> type)
constant in interface DependGetterpublic <T> List<T> getListByType(Class<T> type)
DependGettergetListByType in interface DependGettertype - 类型public void close()
close in interface Closeableclose in interface AutoCloseableCopyright © 2020. All rights reserved.