Argo源码阅读(五):Convention

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

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这种组织,项目指的是HelloWo
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值