目录
快速入门案例.NET Core 控制台应用1. 安装 ABP 框架核心依赖2. 新建 ABP 应用的启动模块3. 新建服务,并注册到启动模块中4. 根据启动模块创建 ABP应用,调用应用中注册的服务方法ASP.NET Core Web 应用程序1. 安装 ABP 框架核心依赖2.新建 ABP 应用的启动模块3. 注册 ABP 启动模块,并初始化 ABP 应用4. 新建控制器,测试 ABP 应用运行状态各个击破案例在模块中注册自定义服务使用标签属性注册自定义服务ABP 项目中使用 Autofac1. 安装 Autofac 模块2. 在模块中创建对 Autofac 模块的依赖3. 在ABP应用创建时集成 Autofac完整案例代码快速入门案例
.NET Core 控制台应用
1. 安装 ABP 框架核心依赖
Install-Package Volo.Abp.Core -Version 3.3.2
2. 新建 ABP 应用的启动模块
HelloAbpModule.cs
using Volo.Abp.Modularity;namespace HelloAbp{ /// <summary> /// 启动模块 /// </summary> public class HelloAbpModule : AbpModule { }}3. 新建服务,并注册到启动模块中
HelloWorldService.cs
using System;using Volo.Abp.DependencyInjection;namespace HelloAbp{ /// <summary> /// TODO: ABP 注册服务方式一: 继承接口 /// ISingletonDependency、IScopedDependency、ITransientDependency /// </summary> public class HelloWorldService : ITransientDependency { public void Run() { Console.WriteLine($"{nameof(HelloAbpModule)}-{nameof(HelloWorldService)}: Hello World!"); } }}4. 根据启动模块创建 ABP应用,调用应用中注册的服务方法
Program.cs
using System;using Microsoft.Extensions.DependencyInjection;using Volo.Abp;namespace HelloAbp{ class Program { static void Main(string[] args) { // 根据启动模块创建 abp 应用 var application = AbpApplicationFactory.Create<HelloAbpModule>(); // 初始化 abp 应用 application.Initialize(); // 获取应用中注册的服务 var service = application.ServiceProvider.GetService<HelloWorldService>(); // 调必然的联系;ABP应用中每个模块注册的服务,都注册到了ABP应用的全局容器中;
ABP应用中的模块也分为两种类型:应用程序模块(业务实现)和框架模块(技术实现);
ABP应用中最顶层的模块是启动模块,最后被加载的也是启动模块。
在模块中注册自定义服务
HelloAbpModule.cs
using System;using System.Collections.Generic;using System.Text;using Microsoft.Extensions.DependencyInjection;using Volo.Abp;using Volo.Abp.Modularity;namespace HelloAbp{ /// <summary> /// 启动模块 /// </summary> public class HelloAbpModule : AbpModule { // TODO: 重写 ABP 模块的服务配置方法,向模块中注册自定义的服务 public override void ConfigureServices(ServiceConfigurationContext context) { base.ConfigureServices(context); // TODO: ABP 注册服务方式二: 模块注册 context.Services.AddTransient<HelloWorldService>(); } }}小结
初始化ABP模块
1.注册ABP基础设施与核心服务(模块系统相关)2.加载整个应用的所有模块,按照依赖性排序3.按顺序遍历所有模块,执行每一个模块的配置方法4.按顺序遍历所有模块,执行每一个模块的初始化方法
使用标签属性注册自定义服务
HelloWorldService.cs
using System;using System.Collections.Generic;using System.Text;using Microsoft.Extensions.DependencyInjection;using Volo.Abp.DependencyInjection;namespace HelloAbp{ /// <summary> /// TODO: ABP 注册服务方式三: 特性标签 /// ServiceLifetime.Singleton、ServiceLifetime.Scoped、ServiceLifetime.Transient /// </summary> [Dependency(ServiceLifetime.Transient)] public class HelloWorldService { public void Run() { Console.WriteLine($"{nameof(HelloAbpModule)}-{nameof(HelloWorldService)}: Hello World!"); } }}ABP 项目中使用 Autofac
1. 安装 Autofac 模块
Install-Package Volo.Abp.Autofac -Version 3.3.2
2. 在模块中创建对 Autofac 模块的依赖
HelloAbpModule.cs
using System;using System.Collections.Generic;using System.Text;using Microsoft.Extensions.DependencyInjection;using Volo.Abp;using Volo.Abp.Autofac;using Volo.Abp.Modularity;namespace HelloAbp{ /// <summary> /// 启动模块 /// </summary> // TODO: 使用 Autofac 第三方依赖注入框架(提供了更多的高级特性) [DependsOn(typeof(AbpAutofacModule))] public class HelloAbpModule : AbpModule { public override void ConfigureServices(ServiceConfigurationContext context) { base.ConfigureServices(context); context.Services.AddTransient<HelloWorldService>(); } }}3. 在ABP应用创建时集成 Autofac
Program.cs
using System;using Microsoft.Extensions.DependencyInjection;using Volo.Abp;namespace HelloAbp{ class Program { static void Main(string[] args) { { // 根据启动模块创建 abp 应用 var application = AbpApplicationFactory.Create<HelloAbpModule>(options => { // 集成 Autofac options.UseAutofac(); }); // 初始化 abp 应用 application.Initialize(); // 获取应用中注册的服务 var service = application.ServiceProvider.GetService<HelloWorldService>(); // 调用应用中的服务方法 service.Run(); } Console.WriteLine("Hello World!"); Console.ReadKey(); } }}完整案例代码
AbpSample
到此这篇关于.NET Core使用APB vNext框架入门教程的文章就介绍到这了。希望对大家的学习有所帮助,也希望大家多多支持我们。








