博客
关于我
【Autofac打标签模式】Component和Autowired
阅读量:477 次
发布时间:2019-03-06

本文共 881 字,大约阅读时间需要 2 分钟。

【 Autofac打标签模式】开源DI框架扩展地址:

Componet标签把类型注册到DI容器

1. 把一个类型注册到DI容器

  • 上面的例子就是把Student类型注册到容器

2. 把当前类型和父类注册到DI容器

  • 上面的例子就是把Student2类型注册到容器
  • 并且把Person类型也注册到容器根据Person类型拿到的是Student2的实体

3. 把当前类型和接口注册到DI容器

  • 上面的例子就是把Student3类型注册到容器
  • 并且把ISay也注册到容器根据ISay类型拿到的是Student3的实体

4. 当继承了父类或者接口 想要指定注册类型怎么办?

  • 上面的例子就是只能通过ISay拿到Student3的实体
  • 不能通过Student3类型拿到!!

5. 怎么指定实例是单例,每次都是新的实例,还是每个Scope一个实例呢?

  • 如上图所示 可以指定AutofacScope属性
  • 如果不指定就是每次获取的一个新的实例

6. 当同一个类型多次注册,如何区分得到我想要的?

  • 如上图 ISay类型有2个实现类 Student3 和 Student4 分别指定了 Key的值
  • 通过ISay + “Student3” 可以获取到 Student3的实体
  • 通过ISay + “Student4” 可以获取到 Student4的实体

7.支持注册类型可以自动实例化对象

  • 如上所示,设定AutoActivate = true代表是启动自动实例化
  • AutofacScope = AutofacScope.SingleInstance 代表单例模式
  • Student5类型会对象会自动实例化 并且以单例的方式存储在DI容器内

8.支持设置实例化时运行指定方法

  • 如上所示 设置 InitMethod 和 DestroyMethod
  • 当实例从DI容器初始化时就会调用 InitMethod
  • 当DI容器Dispose的时候会触发调用DestroyMethod

另外

  • InitMethod支持注入
  • DestroyMethod只能是无参数方法

Autowired自动装配

打在构造方法上 属性

转载地址:http://jqmbz.baihongyu.com/

你可能感兴趣的文章
NetBeans IDE8.0需要JDK1.7及以上版本
查看>>
NetBeans之JSP开发环境的搭建...
查看>>
NetBeans之改变难看的JSP脚本标签的背景色...
查看>>
netbeans生成的maven工程没有web.xml文件 如何新建
查看>>
netcat的端口转发功能的实现
查看>>
NetCore 上传,断点续传,可支持流上传
查看>>
Netcraft报告: let's encrypt和Comodo发布成千上万的网络钓鱼证书
查看>>
Netem功能
查看>>
netfilter应用场景
查看>>
Netflix:当你按下“播放”的时候发生了什么?
查看>>
Netflix推荐系统:从评分预测到消费者法则
查看>>
netframework 4.0内置处理JSON对象
查看>>
Netgear WN604 downloadFile.php 信息泄露漏洞复现(CVE-2024-6646)
查看>>
Netgear wndr3700v2 路由器刷OpenWrt打造全能服务器(十一)备份
查看>>
netlink2.6.32内核实现源码
查看>>
netmiko 自动判断设备类型python_Python netmiko模块的使用
查看>>
NetMizer 日志管理系统 多处前台RCE漏洞复现
查看>>
NetMizer-日志管理系统 dologin.php SQL注入漏洞复现(XVE-2024-37672)
查看>>
Netpas:不一样的SD-WAN+ 保障网络通讯品质
查看>>
netron工具简单使用
查看>>