public class ComboIocLoader extends AbstractLifeCycle implements IocLoader
LifeCycle.Event, LifeCycle.Listener
限定符和类型 | 字段和说明 |
---|---|
protected Map<String,IocObject> |
iobjs |
protected static Map<String,Class<? extends IocLoader>> |
loaders
类别名
|
构造器和说明 |
---|
ComboIocLoader(IocLoader... loaders) |
ComboIocLoader(String... args)
这个构造方法需要一组特殊的参数
第一种,以*开头,后面接类名, 如
*org.nutz.ioc.loader.json.JsonLoader
支持类别名: js, json, xml, annotation, anno, trans, async, props, tx, quartz分别对应其加载类
第二种,为具体的参数
处理规律, 当遇到第一种参数(*),则认为接下来的一个或多个参数为这一个IocLoader的参数,直至遇到另外一个*开头的参数
例子:
{"*js","ioc/dao.js","ioc/service.js","*xml","ioc/config.xml", "*anoo", "net.wendal.nutzbook"}
这样的参数, 会生成一个以{"ioc/dao.js","ioc/service.js"}作为参数的JsonLoader,一个以{"ioc/dao.xml"}
作为参数的XmlIocLoader, 一个以"net.wendal.nutzbook"为参数的AnnotationIocLoader |
限定符和类型 | 方法和说明 |
---|---|
void |
addLoader(IocLoader loader) |
void |
clear() |
void |
depose() |
String[] |
getName() |
Set<String> |
getNamesByTypes(IocLoading loading,
Class<?> klass) |
boolean |
has(String name) |
void |
init() |
IocObject |
load(IocLoading loading,
String name)
每次这个函数被调用,则要构造一个新的 IocObject
|
protected void |
printFoundIocBean(String name,
IocLoader loader) |
String |
toString() |
fetch, trigger
public ComboIocLoader(String... args) throws ClassNotFoundException
*org.nutz.ioc.loader.json.JsonLoader
支持类别名: js, json, xml, annotation, anno, trans, async, props, tx, quartz分别对应其加载类
第二种,为具体的参数
处理规律, 当遇到第一种参数(*),则认为接下来的一个或多个参数为这一个IocLoader的参数,直至遇到另外一个*开头的参数
例子:
{"*js","ioc/dao.js","ioc/service.js","*xml","ioc/config.xml", "*anoo", "net.wendal.nutzbook"}
这样的参数, 会生成一个以{"ioc/dao.js","ioc/service.js"}作为参数的JsonLoader,一个以{"ioc/dao.xml"}
作为参数的XmlIocLoader, 一个以"net.wendal.nutzbook"为参数的AnnotationIocLoaderClassNotFoundException
- 如果*开头的参数所指代的类不存在public ComboIocLoader(IocLoader... loaders)
public IocObject load(IocLoading loading, String name) throws ObjectLoadException
IocLoader
load
在接口中 IocLoader
ObjectLoadException
public Set<String> getNamesByTypes(IocLoading loading, Class<?> klass)
public void addLoader(IocLoader loader)
public void init() throws Exception
init
在接口中 LifeCycle
init
在类中 AbstractLifeCycle
Exception
public void depose() throws Exception
depose
在接口中 LifeCycle
depose
在类中 AbstractLifeCycle
Exception
public void clear()
Copyright © 2017. All rights reserved.