.netcore3.1使用autofac

(.netcore中本身已经实现了IOC容器,其实没有必要替换成autofac。如果非常习惯autofac,替换也是无可厚非的。)

第一步、在项目中引入Autofac和Autofac.Extensions.DependencyInjection

第二步、修改program.cs

   public static IHostBuilder CreateHostBuilder(string[] args) =>
Host.CreateDefaultBuilder(args)
.ConfigureWebHostDefaults(webBuilder =>
{
webBuilder.UseStartup<Startup>();
})
.UseServiceProviderFactory(new AutofacServiceProviderFactory());

第三步、在startup.cs中实现方法

 public void ConfigureContainer(ContainerBuilder builder)
{ #region 注入业务服务(此处使用反射注入)
Assembly assembly = Assembly.Load("Qingy.DotNetCoreStudy.CustomerServiceService");
List<Type> types = assembly.GetTypes().Where(u => u.IsClass && !u.IsAbstract && !u.IsGenericType
&& u.GetInterfaces().Any(p => p == typeof(ICustomerServicerSerice))
).ToList();
builder.RegisterTypes(types.ToArray()).InstancePerLifetimeScope(); //注入,并声明生命周期
#endregion }

测试

最新文章

  1. javascript数据结构-链表
  2. 【C语言学习】《C Primer Plus》第10章 数组和指针
  3. [水煮 ReSharper] 高效开发—十个实用的快捷键
  4. 免费的ER 设计软件调研
  5. ViewPager -- Fragment 切换卡顿 性能优化
  6. POJ 2478 Farey Sequence(欧拉函数前n项和)
  7. Sublime 编译出来的是 dos格式,不是unix格式
  8. HDU 3062 Party
  9. Java应用发布后,需要关注的7个性能指标
  10. libcurl的封装,支持同步异步请求,支持多线程下载,支持https
  11. Robotium -- AndroidUI优化工具HierarchyViewer
  12. JS链表
  13. Sping--集合注入
  14. springmvc+swagger构建Restful风格文档
  15. Linux内存管理 (12)反向映射RMAP
  16. while(~scanf(..))为什么可以这样写
  17. docker安装优化
  18. 转载:(原创)odoo11配置邮件功能的那些事儿
  19. Linux 之 AT&amp;T汇编语言 mov、add、sub指令、数据段
  20. mysql 字符串数字转换

热门文章

  1. 阿里云oss对象存储配置CDN
  2. 091 01 Android 零基础入门 02 Java面向对象 02 Java封装 01 封装的实现 03 # 088 01 Android 零基础入门 02 Java面向对象 02 Java封装 02 static关键字 01 static关键字(上)
  3. 019 01 Android 零基础入门 01 Java基础语法 02 Java常量与变量 13 数据类型转换的代码示例
  4. 步进电机的Arduino库函数
  5. 列举python的可变类型和不可变类型
  6. C&C++代码单元集成测试培训
  7. 多测师讲解pthon_re模块_高级讲师肖sir
  8. C++虚函数与多继承
  9. 【纯水题】CF 833A The Meaningless Game
  10. redis 开启AOF 持久化