public class DependCenter extends Object implements DependGetter, DependInjector
Constructor and Description |
---|
DependCenter()
构造
|
DependCenter(DependGetter dependGetter)
构造
|
Modifier and Type | Method and Description |
---|---|
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)
通过类型获取依赖对象
|
Depend |
getDepend(String name)
通过名称获取依赖对象
|
<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)
通过名称获取依赖,转化为指定类型
|
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)
根据父类类型寻找依赖池中的存在的子类类型列表
|
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 <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)
T
- superType
- 父类类型public <T> List<T> getByType(Class<T> superType)
T
- 父类类型,例如一个接口类型public <T> T[] getByType(Class<T> superType, T[] a)
superType
- 父类类型,例如一个接口类型a
- 转化为数组getByType(Class, Object[])
public <T> T getDependInstance(String name, Class<T> type)
ClassCastException
public <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 DependGetter
public <T> T get(String name, Class<T> type)
get
in interface DependGetter
public Object get(String name)
get
in interface DependGetter
public Object constant(String name)
constant
in interface DependGetter
public <T> T constant(String name, Class<T> type)
constant
in interface DependGetter
Copyright © 2020. All rights reserved.