首页 > 其他分享 >IOC容器-Autofac

IOC容器-Autofac

时间:2023-05-10 09:11:50浏览次数:31  
标签:容器 Autofac container 注册 ContainerBuilder IOC containerBuilder

  • Autofac是第三方IOC容器,是当前最流行的IOC容器。

1.容器创建对象

//创建一个容器建造者
ContainerBuilder containerBuilder = new ContainerBuilder();
//注册普通类
containerBuilder.RegisterType<Honer>();
//build一下,得到一个容器
IContainer container = containerBuilder.Build();
//可以基于容器来获取对象的实例
Honer phone = container.Resolve<Honer>();

2.注册抽象与实现

ContainerBuilder containerBuilder = new ContainerBuilder();
//将Honer类注册为IPhone接口的实现 containerBuilder.RegisterType<Honer>().As<IPhone>(); IContainer container = containerBuilder.Build(); IPhone phone = container.Resolve<IPhone>();

 

  • RegisterAssemblyTypes(程序集数组),程序集必须是public的
  • AsImplementedInterfaces():表示注册的类型,以接口的方式注册
  • PropertiesAutowired():支持属性注入
  • Where:满足条件类型注册

标签:容器,Autofac,container,注册,ContainerBuilder,IOC,containerBuilder
From: https://www.cnblogs.com/zengxiaowei/p/16656901.html

相关文章

  • 每日打卡c++中vector容器使用
    首先头文件#include<vector>for_each一种算法需要头文件#include<algorithm>标准算法头文件vector<int>::iterator迭代器,可以当指针用。基本格式vector<数据类型>名称;数据类型可以是类。例子#include<iostream>#include<vector>#include<algorithm>usingnamespacestd;cla......
  • 【C++容器基础】
    容器汇总: 向量(vector): 队列(deque):列表(list): 数组(array): 字符串(string): 映射(map):无序 集合(set):无序不重复 ......
  • 未知大小的图片适应(保持宽高比且不超出)图片容器的CSS属性
    假设我们本地代码中有一个宽*高为100px*100px的图片的容器元素<divclass="img-wrapper"style="width:100px;height:100px;"><imgsrc="..."alt="待展示图片"/></div> 如果图片不我们本地,而是属于其他人资源,那么图片的尺寸、大小对于我们来讲是不可控的。这种情......
  • 学习LXC(Linux 容器)技术
    安装LXC、LXD、zfs测试机器为ubuntusudoapt-getinstalllxclxdzfsutils-linux-y创建LXD的zfs存储池sudolxdinit##根据提示全部敲回车即可添加官方镜像源sudolxcremoteaddimagesimages.linuxcontainers.org查看镜像lxcimagelist[<remote>:][<filter>......
  • C++如何实现容器的Copy/Move/Swap方法
    C++如何实现容器的Copy/Move/Swap方法1、引言目前网上有很多关于如何编写C++容器的教程,比如各种“手写STL”之类的文章和视频,但是这些教程中的容器一般都不包括allocator,比如:template<typenameT>classMyVector{...};然而我们知道标准库的容器都是有一个Allocator的模......
  • k8s容器资源需求与资源限制
    在Kubernetes中,我们可以通过为容器定义资源需求和限制来管理容器的资源使用。资源需求(ResourceRequests):指容器在调度和运行时需要的最小资源。当定义了资源需求后,Kubernetes会根据该需求进行调度,安排节点资源。如果节点不能满足指定的需求,Pod将不会被调度。资源需求包括:CP......
  • 全景剖析阿里云容器网络数据链路(三)—— Terway ENIIP
    来源https://help.aliyun.com/practice_detail/602821本系列联合作者容器服务@谢石前言近几年,企业基础设施云原生化的趋势越来越强烈,从最开始的IaaS化到现在的微服务化,客户的颗粒度精细化和可观测性的需求更加强烈。容器网络为了满足客户更高性能和更高的密度,也一直在高速的......
  • docker介绍、什么是虚拟化、docker是什么、容器与虚拟机比较、Docker 概念、docker安
    目录1docker介绍1.1什么是虚拟化2.1docker是什么2.2容器与虚拟机比较2.3Docker概念2docker安装1docker介绍1.1什么是虚拟化在计算机中,虚拟化(英语:Virtualization)是一种资源管理技术,是将计算机的各种实体资源,如服务器、网络、内存及存储等,予以抽象、转换后呈现出来,打破......
  • k8s容器安全上下文
    k8s在创建和管理Pod时,可以设置一些安全限制。它包括以下几个方面:1.自主访问控制(DAC):每个容器都有一个默认的用户ID,可以通过PodSecurityContext或SecurityContext来修改它。通过限制各个容器使用不同的用户ID或组ID,可以减小容器之间的攻击面。2.Linux功能:将内核管理权限......
  • 虚拟机、容器对比
    一、容器docter1、概要Docker是一个开源的应用容器引擎,基于 Go语言 并遵从Apache2.0协议开源。Docker可以让开发者打包他们的应用以及依赖包到一个轻量级、可移植的容器中,然后发布到任何流行的Linux机器上,也可以实现虚拟化。容器是完全使用沙箱机制,相互......