这里不多做理论上的解释,因为我感觉自己也不是很完全的理解,所以只是记录我自己做的过程。

首先还是粘贴大神的链接:https://www.cnblogs.com/RayWang/p/11165509.html

这里我也是试了三种方法的:

1..netcore自带的DI

1.1先创建一个引用帮助类,获取对应的程序集

1.2创建一个注册帮助类:

里面有一个根据传值类型注册的扩展方法默认类型ServiceLifetime.Scoped

然后再加一个扩展方法注册传入进来的程序集里的所有类

1.3最后就是使用了,这个一般在配置类里调用配置了

另外两种方法可以看上面给出的大神的链接,里面有详细的介绍,可以自己去试一下,我试过了,为了我的项目的的整洁,我就不再试了。

能看到这篇文章跟之前的项目是不一样的,这就是强迫症患者的最后坚持了。

差点忘了使用了:

这是是没有用到依赖注入的时候,在每个类里面都要new一遍

用了依赖注入之后:(这里用的是构造函数注入)

同样在控制器里

在这里我说一下我踩到坑:我之前为了偷懒,就直接用业务层的接口继承了服务层的接口,这样如果是单独在实现里面new 对象完全没问题,但是如果你是用构造函数注入的话就会报错了。就会报循环引用

NetCoreApi框架搭建三、AutoFac 依赖入注)的更多相关文章

  1. NetCoreApi框架搭建三、JWT授权验证)

    1.首先还是粘贴大神的链接 虽然说大神的博客已经讲得很详细了,但是此处还是自己动手好点. 首先配置Startup Swagger的验证 2.新建一个项目存放tokenmodel和生成token并且存入 ...

  2. Unity 游戏框架搭建 (三) MonoBehaviour单例的模板

      上一篇文章讲述了如何设计C#单例的模板.也随之抛出了问题: 如何设计接收MonoBehaviour生命周期的单例的模板? 如何设计? 先分析下需求:   1.约束脚本实例对象的个数.   2.约束 ...

  3. .Net Core3.0 WebApi 项目框架搭建 三:读取appsettings.json

    .Net Core3.0 WebApi 项目框架搭建:目录 appsettings.json 我们在写项目时往往会把一些经常变动的,可能会变动的参数写到配置文件.数据库中等可以存储数据且方便配置的地方 ...

  4. spring入门 依赖入注的三种方式(1)

    第一种:构造器参数注入 第二种:setter方法属性注入(setter方法的规范-JavaBean规范) 第三种:接口注入 Bean 属性的注入:对一个对象的属性的赋值 1.构造器参数注入: publ ...

  5. 自定义统一api返回json格式(app后台框架搭建三)

    在统一json自定义格式的方式有多种:1,直接重写@reposeBody的实现,2,自定义一个注解,自己去解析对象成为json字符串进行返回 第一种方式,我就不推荐,想弄得的话,可以自己去研究一下源码 ...

  6. NetCoreApi框架搭建(一、swagger插件使用)

    1.首先用vs2017创建新的项目 2.开始引入swagger插件 右击项目=>管理NuGet程序包=>搜索Swashbuckle.AspNetCore点击安装 3.打开Startup.c ...

  7. 基于Web Service的客户端框架搭建三:代理层(Proxy)

    前言 代理层的主要工作是调用Web Service,将在FCL层序列化好的Json数据字符串Post到Web Service,然后获得Reponse,再从响应流中读取到调用结果Json字符串,在Dis ...

  8. NetCoreApi框架搭建(二、Nlog使用配置)

    本文只配置了简单文件存储 1.添加nuget包 2.添加日志配置文件nlog.config 这里配置了三个target区分不同的日志,具体配置需要自己研究,推荐链接https://www.cnblog ...

  9. 整合springboot(app后台框架搭建四)

    springboot可以说是为了适用SOA服务出现,一方面,极大的简便了配置,加速了开发速度:第二方面,也是一个嵌入式的web服务,通过jar包运行就是一个web服务: 还有提供了很多metric,i ...

随机推荐

  1. OL7.7安装Oracle 11.2.0.4

    安装环境准备工具 yum –y install oracle-rdbms-server-11gR2-preinstall 创建目录 mkdir -p /u01/app/oracle/product/1 ...

  2. paxos算法—今生

    Paxos 定义2.1  票:即弱化形式的锁.它具备下面几个性质: 可重新发布:服务器可以重新发布新票,即使前面发布的票没有释放. 票可以过期:客户端用一张票来给服务器发送命令请求时,只有当这张票是最 ...

  3. Ubuntu18.04.2安装中文输入法

    转载请注明出处: BooTurbo  https://www.cnblogs.com/booturbo/p/11287557.html 1.英文的Ubuntu系统,首先要安装中文语言,在 Settin ...

  4. c# 第16节 一维数组的声明及使用

    本节内容: 1:为什么要有使用数组 2:数组的简介 3:一维数组的声明 4: 实例数组声明 5:一维数组的使用 6:一维数组使用注意地方 1:为什么要使用数组 2:数组的简介 3:一维数组的声明 4: ...

  5. 201871010110-李华《面向对象程序设计(java)》第十五周学习总结

    博文正文开头格式:(2分) 项目 内容 这个作业属于哪个课程 https://www.cnblogs.com/nwnu-daizh/ 这个作业的要求在哪里 https://www.cnblogs.co ...

  6. 201971010110-李华《面向对象程序设计(java)》第七周学习总结

    博文正文开头格式:(2分) 项目 内容 这个作业属于哪个课程 https://www.cnblogs.com/nwnu-daizh/ 这个作业的要求在哪里 https://www.cnblogs.co ...

  7. xposed+justtrustme

    1.xposed下载: https://repo.xposed.info/module/de.robv.android.xposed.installer https://forum.xda-devel ...

  8. Python27期:错误宝典

    错误信息1:SyntaxError:invalid syntax--无效语法 解决办法:变量名不能使用关键字如下图: 错误信息2:TypeError:'str' object is not calla ...

  9. LG2272/BZOJ1093 「ZJOI2007」最大半连通子图 Tarjan缩点+DAG求最长链

    问题描述 LG2272 BZOJ1093 题解 观察半联通的定义,发现图中的一些结点,构成的链一定是一个半联通子图. 此时存在的环可能会干扰求解,于是\(\mathrm{Tarjan}\)缩点. 于是 ...

  10. Burst Balloons(leetcode戳气球,困难)从指数级时间复杂度到多项式级时间复杂度的超详细优化思路(回溯到分治到动态规划)

    这道题目做了两个晚上,发现解题思路的优化过程非常有代表性.文章详细说明了如何从回溯解法改造为分治解法,以及如何由分治解法过渡到动态规划解法.解法的用时从 超时 到 超过 95.6% 提交者,到超过 9 ...