NetCoreApi框架搭建三、AutoFac 依赖入注)
这里不多做理论上的解释,因为我感觉自己也不是很完全的理解,所以只是记录我自己做的过程。
首先还是粘贴大神的链接:https://www.cnblogs.com/RayWang/p/11165509.html
这里我也是试了三种方法的:
1..netcore自带的DI
1.1先创建一个引用帮助类,获取对应的程序集

1.2创建一个注册帮助类:
里面有一个根据传值类型注册的扩展方法默认类型ServiceLifetime.Scoped

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

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

另外两种方法可以看上面给出的大神的链接,里面有详细的介绍,可以自己去试一下,我试过了,为了我的项目的的整洁,我就不再试了。
能看到这篇文章跟之前的项目是不一样的,这就是强迫症患者的最后坚持了。
差点忘了使用了:
这是是没有用到依赖注入的时候,在每个类里面都要new一遍

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

同样在控制器里

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

NetCoreApi框架搭建三、AutoFac 依赖入注)的更多相关文章
- NetCoreApi框架搭建三、JWT授权验证)
1.首先还是粘贴大神的链接 虽然说大神的博客已经讲得很详细了,但是此处还是自己动手好点. 首先配置Startup Swagger的验证 2.新建一个项目存放tokenmodel和生成token并且存入 ...
- Unity 游戏框架搭建 (三) MonoBehaviour单例的模板
上一篇文章讲述了如何设计C#单例的模板.也随之抛出了问题: 如何设计接收MonoBehaviour生命周期的单例的模板? 如何设计? 先分析下需求: 1.约束脚本实例对象的个数. 2.约束 ...
- .Net Core3.0 WebApi 项目框架搭建 三:读取appsettings.json
.Net Core3.0 WebApi 项目框架搭建:目录 appsettings.json 我们在写项目时往往会把一些经常变动的,可能会变动的参数写到配置文件.数据库中等可以存储数据且方便配置的地方 ...
- spring入门 依赖入注的三种方式(1)
第一种:构造器参数注入 第二种:setter方法属性注入(setter方法的规范-JavaBean规范) 第三种:接口注入 Bean 属性的注入:对一个对象的属性的赋值 1.构造器参数注入: publ ...
- 自定义统一api返回json格式(app后台框架搭建三)
在统一json自定义格式的方式有多种:1,直接重写@reposeBody的实现,2,自定义一个注解,自己去解析对象成为json字符串进行返回 第一种方式,我就不推荐,想弄得的话,可以自己去研究一下源码 ...
- NetCoreApi框架搭建(一、swagger插件使用)
1.首先用vs2017创建新的项目 2.开始引入swagger插件 右击项目=>管理NuGet程序包=>搜索Swashbuckle.AspNetCore点击安装 3.打开Startup.c ...
- 基于Web Service的客户端框架搭建三:代理层(Proxy)
前言 代理层的主要工作是调用Web Service,将在FCL层序列化好的Json数据字符串Post到Web Service,然后获得Reponse,再从响应流中读取到调用结果Json字符串,在Dis ...
- NetCoreApi框架搭建(二、Nlog使用配置)
本文只配置了简单文件存储 1.添加nuget包 2.添加日志配置文件nlog.config 这里配置了三个target区分不同的日志,具体配置需要自己研究,推荐链接https://www.cnblog ...
- 整合springboot(app后台框架搭建四)
springboot可以说是为了适用SOA服务出现,一方面,极大的简便了配置,加速了开发速度:第二方面,也是一个嵌入式的web服务,通过jar包运行就是一个web服务: 还有提供了很多metric,i ...
随机推荐
- Linux计划任务,定时清空日志
以Ubuntu为例,利用系统自带计划任务,即cron ,计划任务,是任务在约定的时间执行已经计划好的工作,这是表面的意思.在Linux中,我们经常用到 cron 服务器来完成这项工作.cron服务器可 ...
- linux驱动学习笔记---实现中断下半部以及驱动编写规范(七)【转】
转自:https://blog.csdn.net/weixin_42471952/article/details/81609141 版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协 ...
- CentOS6.7安装Oracle数据库
- AsyncTask隐藏的陷阱
转自:http://blog.csdn.net/snow4dev/article/details/8809897 当AsyncTask被介绍到Android中时,它被贴上“无忧线程”的标签.其目标是让 ...
- 12-numpy笔记-莫烦基本操作2
代码 import numpy as np A = np.arange(3,15) print('-1-') print(A) print('-2-') print(A[3]) A = np.aran ...
- (day48作业)jQuery+Bootstrap练习题
目录 一.图书管理系统页面搭建 二.jQuery练习题 一.图书管理系统页面搭建 <!DOCTYPE html> <html lang="en"> < ...
- webapi使用压缩
支持GZIP.DEFLATE压缩 /// <summary> /// Gzip 压缩 /// </summary> public sealed class Compressio ...
- Xamarin.Forms移动开发系列2:创建和调试
摘要 本文将介绍如何通过VS2019创建Xamarin.Forms应用程序,以及如何进行调试. 前言 本文介绍Xamarin.Froms应用程序的创建和调试. 开发环境 1.Visual Studio ...
- 洛谷p2613【模板】有理数取余
题目 \(c\)等于一个分数,求他的余数,分数是不能直接模的,除以一个数等于乘上这个数的逆元. 所以此题就是求一个逆元,费马小定理求逆元是很方便的,一个快速幂就解决了. 还要注意因为\(a,b\)的值 ...
- 热情组——项目冲刺 Day6
项目相关 作业相关 具体描述 班级 班级链接 作业要求 链接地址 团队名称 热情组 作业目标 实现软件制作,以及在福大的传播 Github链接 链接地址 SCRUM部分: 成员昵称 昨日目标 开始时间 ...