咱们都知道,.net core天生自带IOC容器,可是他的功能其实并不强大,并且有坑:在构造注入的时候,他默认找参数最少的构造函数。ide
这里,我讲解如何使用Autofac去接管IOC,至于为何要选Autofac,这个其实我也是随大众,不事后面我讲到关于使用Autofac实现AOP的时候,或许你能发现他的好处函数
首先,在类的内部定义一个新的方法ui
public void ConfigureContainer(ContainerBuilder builder)
{
// 在这里添加服务注册
builder.RegisterType<ProductRepository>().As<IProductRepository>();//注册
}spa
在这个方法里,完成服务注册。对于服务注册这块,关于Autofac的API若是有须要更多的了解的话,能够查阅Autofac指南.net
UseServiceProviderFactory(new AutofacServiceProviderFactory())//使用AutoFac作IOC和AOPblog
对于使用IOC,虽然Autofac有多种骚姿式,可是我这里仍是推荐使用构造注入,若是要问为何,其实关键在于,你不用在每一个类库中都去拉包,处处都拉包的话,项目就会对组件产生依赖,产生必定的耦合。get