.net core3.1 下由Autofac接管IOC

咱們都知道,.net core天生自帶IOC容器,可是他的功能其實並不強大,並且有坑:在構造注入的時候,他默認找參數最少的構造函數。ide

這裏,我講解如何使用Autofac去接管IOC,至於爲何要選Autofac,這個其實我也是隨大衆,不事後面我講到關於使用Autofac實現AOP的時候,或許你能發現他的好處函數

第一步,引包

 

 

 第二步,修改startup.cs文件

首先,在類的內部定義一個新的方法ui

 

 

 

public void ConfigureContainer(ContainerBuilder builder)
{
// 在這裏添加服務註冊
builder.RegisterType<ProductRepository>().As<IProductRepository>();//註冊
}spa

在這個方法裏,完成服務註冊。對於服務註冊這塊,關於Autofac的API若是有須要更多的瞭解的話,能夠查閱Autofac指南.net

 

第三步,修改Program.cs文件

 

 

 UseServiceProviderFactory(new AutofacServiceProviderFactory())//使用AutoFac作IOC和AOPblog

第四步,正式使用

對於使用IOC,雖然Autofac有多種騷姿式,可是我這裏仍是推薦使用構造注入,若是要問爲何,其實關鍵在於,你不用在每一個類庫中都去拉包,處處都拉包的話,項目就會對組件產生依賴,產生必定的耦合。get

相關文章
相關標籤/搜索