abp 模块系统
2024-08-31 10:09:33
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推荐的依赖设置方式,应该遵循任意一个模块(程序集)单独拿出均可引入至其他项目(而不用担心未设置它的依赖项)
最新文章
- 如何在mac上用终端打开XAMPP自带的MySQL
- posgresql
- 基于分布式、服务化的maven项目文件规划
- select标签用法
- Hibernate一级缓存、二级缓存
- C# 验证码生成(MVC和非MVC两种方式)
- python中str的find()
- 聊一聊我的阿里云ECS云主机
- leetcode — binary-tree-level-order-traversal
- Navicat Premium 修改MySQL密码(忘记密码的情况下)
- 关于java和jvm的思考
- January 30th, 2018 Week 05th Tuesday
- jquery-jtemplates.js模板应用
- loading加载和layer.js
- category使用 objc_setAssociatedObject/objc_getAssociatedObject 实现添加属性
- Android创建并响应选项菜单
- application实例
- 3DES加密解密
- ActiveMQ监听消息并进行转发,监听不同的mq服务器和不同的队列
- 【题解】CF#1012 C-Hill