从零开始学习ABP vNext开发 (二)———— 从控制台项目入手

首先使用Visual Studio 创建一个.Net控制台项目,将这个新的项目命名为ZL.AbpNext.Poem.ConsoleClient。

我们将解决方案命名为ZL.AbpNext.Poem。

创建Abp模块

进入Nuget程序包管理器,搜索Volo.Abp并安装。

然后,可以创建第一个Abp的模块PoemConsoleClientModule:

1
2
3
4
5
6
7
8
9
10
using Volo.Abp.Modularity;

namespace ZL.AbpNext.Poem.ConsoleClient
{
public class PoemConsoleClientModule:AbpModule
{

}
}

创建Service

然后创建Service类:

1
2
3
4
5
6
7
8
9
10
11
12
13
using Volo.Abp.DependencyInjection;

namespace ZL.AbpNext.Poem.ConsoleClient
{
public class Service : ITransientDependency
{
public void Run()
{
Console.WriteLine("你好");
}
}
}

修改Program:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
using System;
using Microsoft.Extensions.DependencyInjection;
using Volo.Abp;

namespace ZL.AbpNext.Poem.ConsoleClient
{
class Program
{
static void Main(string[] args)
{
using (var application = AbpApplicationFactory.Create<PoemConsoleClientModule>())
{
application.Initialize();

//Resolve a service and use it
var service =
application.ServiceProvider.GetService<Service>();
service.Run();

Console.WriteLine("Press ENTER to stop application...");
Console.ReadLine();
}
}
}
}

运行项目,查看结果。

与上一代的ABP项目进行比较,我们会发现:

  • 到目前为止,程序的框架结构大体相同
  • 模块的初始化简化了
  • 依赖注入调用方式简化了