AutoFac简单使用

AutoFac简单使用

  1. 安装nuget包

    1.1.Autofac

    1.2.Autofac.Extensions.DependencyInjection

  2. 接管.net core 自带的依赖注入方式 修改Program.cs

    public static IHostBuilder CreateHostBuilder(string[] args) =>
              Host.CreateDefaultBuilder(args)
              //通过AutoFac完成 接管操作
              .UseServiceProviderFactory(new AutofacServiceProviderFactory())
                  .ConfigureWebHostDefaults(webBuilder =>
                  {
                      webBuilder.UseStartup<Startup>();
                  });

     

  3. 在Statup中添加AutoFac容器

    引用:using Autofac; 和 using Autofac.Core; 
    //AutoFac容器
          public void ConfigureContainer(ContainerBuilder builder)
          {
              //builder.RegisterType<StudentDal>(); 不带接口
              //builder.RegisterType<StudentDal>().As<IStudentDal>();   带接口
              builder.RegisterModule(new AutiFacConfigs());//通过模块方式进行
          }

     

  4. 通过自定义类 继承Autofac.Module 来完成 业务逻辑部分

    //需要引用 using Autofac;
    public class AutiFacConfigs:Autofac.Module
      {
          protected override void Load(ContainerBuilder builder)
          {
              //base.Load(builder);
              //通过反射的方式加载程序集
              var assembly = Assembly.Load("DAL");
              builder.RegisterAssemblyTypes(assembly);
          }
      }
posted @ 2021-10-22 19:57  疾风回荡寻真途  阅读(125)  评论(0)    收藏  举报