在ArgoDispatcherFactory.init()中创建了ArgoDispatcher实例,然后再执行ArgoDispatcher的init。以后所有都将交给ArgoDispatcher处理。
//File ArgoFilter.init()
dispatcher = ArgoDispatcherFactory.create(servletContext);
dispatcher.init();
默认只有ArgoModule,如果自定义了组织级的Module、项目级的Module,则也生成注解器。
public ArgoDispatcher init(ServletContext servletContext, GroupConvention groupConvention) {
…
List<Module> modules = Lists.newArrayList();
modules.add(new ArgoModule(this));
Module groupModule = groupConvention.group().module();
if (null != groupModule)
modules.add(groupModule);
Module projectModule = groupConvention.currentProject().module();
if (null != projectModule)
modules.add(projectModule);
…
}
groupConvention中的组织指的是com.bj58这种组织,项目

本文将探讨Argo的Convention实现,重点在于ArgoDispatcher的初始化过程及其如何处理组织级和项目级的Module。在ArgoDispatcherFactory中创建并初始化ArgoDispatcher,若存在自定义Module,它们会被加入到注解器中。GroupConvention携带有组织级的GroupConfig和项目级的ProjectConfig接口,而DefaultGroupConvention则提供了这些配置的具体实现。项目配置projectConvention实现了Module接口,其配置信息存储在id成员中。最终,这些配置通过Guice注解器整合进系统。
最低0.47元/天 解锁文章
2791

被折叠的 条评论
为什么被折叠?



