.net core3.1中untiy的使用 依赖注入和控制反转

Net Core 3.1 中用Unity实现IOC

     我们都知道,.net core天生自带IOC容器,但是他的功能其实并不强大,而且有坑:在构造注入的时候,他默认找参数最少的构造函数。这里,我讲解如何使用unity去接管IOC

         首先需要通过Nuget引入Unity(5.11.5)和Unity.Microsoft.DependencyInjection(5.11.5),然后在Program类中的CreateHostBuilder中实现注册(图1),就可以在控制器中实现构造函数注入了

(图2)

.net core3.1中untiy的使用 依赖注入和控制反转

.net core3.1中untiy的使用 依赖注入和控制反转

注意:

不能注入自建另外类库,只能注入webapi项目中创建的接口和接口实现,自建类库unity可以加载,但是在控制器中无法注入