abp模块系统:ABP理论学习之模块系统

ABP提供了构建模块并将这些模块组合起来创建应用的基础设施。一个模块可以依赖另一个模块。一般来说,一个程序集可以认为是一个模块。一个模块是由一个派生了AbpModule的类定义的。

ABP按照依赖的顺序调用这些方法。如果模块A依赖于模块B,那么模块B在模块A之前初始化。方法执行的正确顺序是:PreInitialize-B, PreInitialize-A, Initialize-B, Initialize-A, PostInitialize-B and PostInitialize-A。这对于所有的依赖图都是成立的。


    [DependsOn(
typeof(AbpZeroCoreModule),
typeof(AbpWebSignalRModule),
typeof(AbpAutoMapperModule),
//typeof(AbpHangfireModule), - ENABLE TO USE HANGFIRE INSTEAD OF DEFAULT JOB MANAGER
typeof(AbpWebMvcModule),
typeof(AbpZeroEntityFrameworkModule),
typeof(AbpWebApiModule), typeof(EasymanCommonModule),//Easyman.Common
typeof(EasymanCoreModule),//Easyman.Core
typeof(EasymanApplicationModule),//Easyman.Application
typeof(EasymanDataModule),//Easyman.EntityFramework
typeof(EasymanViewMoudle),//Easyman.FwWeb typeof(EmProjectCommonModule),//Em.Project.Common
typeof(EmProjectCoreModule),//Em.Project.Core
typeof(EmProjectAppModule),//Em.Project.Application
typeof(EmProjectDataModule),//Em.Project.EntityFramework
typeof(EasymanWebApiModule)//Em.Project.WebApi
)]
public class EasymanWebModule : AbpModule{}

由于abp会根据设置模块依赖顺序加载初始化模块(DependsOn),

那也可以这样做:在一个项目中,非web的moudle中不设置依赖项,而是去web目录下按照模块加载顺序去配置依赖项(参考以上代码块)

但是,这不是abp推荐的依赖设置方式,应该遵循任意一个模块(程序集)单独拿出均可引入至其他项目(而不用担心未设置它的依赖项)

最新文章

  1. 如何在mac上用终端打开XAMPP自带的MySQL
  2. posgresql
  3. 基于分布式、服务化的maven项目文件规划
  4. select标签用法
  5. Hibernate一级缓存、二级缓存
  6. C# 验证码生成(MVC和非MVC两种方式)
  7. python中str的find()
  8. 聊一聊我的阿里云ECS云主机
  9. leetcode — binary-tree-level-order-traversal
  10. Navicat Premium 修改MySQL密码(忘记密码的情况下)
  11. 关于java和jvm的思考
  12. January 30th, 2018 Week 05th Tuesday
  13. jquery-jtemplates.js模板应用
  14. loading加载和layer.js
  15. category使用 objc_setAssociatedObject/objc_getAssociatedObject 实现添加属性
  16. Android创建并响应选项菜单
  17. application实例
  18. 3DES加密解密
  19. ActiveMQ监听消息并进行转发,监听不同的mq服务器和不同的队列
  20. 【题解】CF#1012 C-Hill

热门文章

  1. js同时获取多个同name的input框的值
  2. Python学习笔记之——requests库
  3. ubantu 16.4 Hadoop 完全分布式搭建
  4. Swagger使用教程 SwashbuckleEx
  5. PHP 8中数据类型
  6. 调用webservice 的时候没法输入参数
  7. python set集合一些基本方法
  8. 【转】Java学习—什么是时间复杂度
  9. ShellCode初体验
  10. [技术] OIer的C++标准库 : STL入门