.NET Core使用Autofac实现自动依赖注入

        看过我之前的文章都知道前面我用反射实现的服务的自动注入,但是后期对项目进行整理时,设计到泛型,反射貌似就不太够用了,接下来带他们使用Autofac实现自动依赖注入吧.

1. 下载依赖 Autofac 和 Autofac.Extensions.DependencyInjection

 2. 创建仓库

/// <summary>
/// Autofac注册模块
/// </summary>
public class AutofacModuleRegister : Module
{
    protected override void Load(ContainerBuilder builder)
    {
        /* 
         * 注册仓库
         * RegisterGeneric: 注册泛型类型
         * InstancePerDependency: 每次注入时都会返回一个新的 BaseRepository<> 实例
         */
        builder.RegisterGeneric(typeof(BaseRepository<>)).As(typeof(IBaseRepository<>)).InstancePerDependency();
    }
}

3.  配置Host容器

builder.Host
    .UseServiceProviderFactory(new AutofacServiceProviderFactory())
    .ConfigureContainer<ContainerBuilder>(builder =>
    {
        builder.RegisterModule(new AutofacModuleRegister());
    });

这样就算配置成功了,然后我们就可以直接使用不需要去手动注册:

  • 5
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

.net开发

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值