Este tutorial muestra cómo empezar de cero con dependencias mínimas comienzan ABP. Por lo general, desea iniciar plantillas de inicio.
Crear un nuevo proyecto
Crear un nuevo aplicaciones .NET Core Console utilizando Visual Studio:
paquete de instalación Volo.Abp
Volo.Abp.Core se crea basándose en el uso de la base de la ABP Nuget empaquetar, instalarlo en su proyecto:
Install-Package Volo.Abp.Core
Crear el primer módulo ABP
ABP es un marco modular, se requiere de una AbpModule
clase derivada módulo promotor (raíz) de clase:
using Microsoft.Extensions.DependencyInjection;
using Volo.Abp.Modularity;
namespace AbpConsoleDemo
{
public class AppModule : AbpModule
{
}
}
AppModule
módulo de inicio de la aplicación es un buen nombre.
Inicializar la aplicación
El siguiente paso es comenzar a usar el módulo de aplicación guía de programación creado anteriormente:
using System;
using Volo.Abp;
namespace AbpConsoleDemo
{
class Program
{
static void Main(string[] args)
{
using (var application = AbpApplicationFactory.Create<AppModule>())
{
application.Initialize();
Console.WriteLine("Press ENTER to stop application...");
Console.ReadLine();
}
}
}
}
AbpApplicationFactory
Aplicación utilizada para crear y carga en absoluto AppModule
como un módulo de inicio de módulo. Initialize()
El método se inicia la aplicación.
Hola Mundo!
La solicitud anterior no hacer nada, vamos a crear un servicio para hacer algo:
using System;
using Volo.Abp.DependencyInjection;
namespace AbpConsoleDemo
{
public class HelloWorldService : ITransientDependency
{
public void SayHello()
{
Console.WriteLine("Hello World!");
}
}
}
ITransientDependency
ABP es una interfaz especial, automáticamente se registra como un servicio transitorio (véase la dependencia de la documentación de la inyección ).
Ahora, podemos analizar HelloWorldService
e invocar SayHello
el cambio Program.cs, de la siguiente manera:
using System;
using Microsoft.Extensions.DependencyInjection;
using Volo.Abp;
namespace AbpConsoleDemo
{
class Program
{
static void Main(string[] args)
{
using (var application = AbpApplicationFactory.Create<AppModule>())
{
application.Initialize();
// 解析服务并使用它
var helloWorldService =
application.ServiceProvider.GetService<HelloWorldService>();
helloWorldService.SayHello();
Console.WriteLine("Press ENTER to stop application...");
Console.ReadLine();
}
}
}
}
Esto es suficiente para este sencillo ejemplo de código, si está directamente IServiceProvider
creado de análisis recomendar Scoped dependencia. (Véase la documentación de inyección de dependencia ).