package org.nutz.mvc.annotation; import java.lang.annotation.Documented; import java.lang.annotation.ElementType; import java.lang.annotation.Retention; import java.lang.annotation.RetentionPolicy; import java.lang.annotation.Target; import org.nutz.mvc.IocProvider; /** * 本注解仅在主模块类上声明才有效。 * <p> * 表示整个应用将采用何种方式构建 Ioc 容器。 * * @see org.nutz.mvc.IocProvider * @see org.nutz.ioc.Ioc * * @author zozoh(zozohtnt@gmail.com) */ @Retention(RetentionPolicy.RUNTIME) @Target({ElementType.TYPE}) @Documented public @interface IocBy { /** * 通过 IocProvider,来决定采用何种方式的 Ioc 容器 */ Class<? extends IocProvider> type(); /** * 这个参数将传递给 IocProvider 的 create 方法,作为构造 Ioc 容器必要的参数 * <p> * 不同的 IocProvider 对参数数组的具体要求是不一样的,具体请参看各个 IocProvider 的说明 */ String[] args(); }