依赖注入容器 Castle windsor的使用
2019独角兽企业重金招聘Python工程师标准>>>
在Castle中包含了一组开发框架,它里面的IOC容器是Windsor。在Windsor中提出了自动装配的概念,由容器来自动管理组件之间的依赖关系,无需用户去编写XML配置文件或者通过Attribute来指定容器之间的依赖关系。这样在使用上非常的简单,同时也带了一些问题,作为开发人员的我们无法控制组件的依赖关系。
简单使用:
1.添加Castle.Core.dll,Castle.Windsor两个引用。
2.创建被用于注入的接口和其实现。
3.在程序的入口处(winform在Main函数下,Web Application在Application_start()下)添加如下代码
IWindsorContainer container = new WindsorContainer();//下面为你要注册的组件,即注入容器的配置。//“WindowsFormsApplication1” 为程序集名称,Form为要注册类的基类container.Register(AllTypes.FromAssemblyNamed("WindowsFormsApplication1").BasedOn<Form>().WithService.DefaultInterfaces());//“Tasks”为你的程序集名称,“Service”为你的“IService”接口的实现类container.Register(AllTypes.FromAssemblyNamed("Tasks").Pick().If(t => t.Name.EndsWith("Service")).WithService.DefaultInterfaces());
4.在调用出实现注入,并调用。
1)属性/Setter注入:
public ITestService TestService { get; set; }TestService.GetMethod();//调用TestService中的GetMethod()方法
2)构造器注入:
public partial class Form1 : Form{private ITestService _service;public Form1(ITestService testService){InitializeComponent();_service = testService;_service.GetMethod();//调用TestService中的GetMethod()方法}}
转载于:https://my.oschina.net/MerylLiu/blog/214492
依赖注入容器 Castle windsor的使用相关推荐
- 又一个强大的PHP5.3依赖注入容器
简单的服务容器 一个简单的 php 5.3 依赖注入容器. 项目地址:https://github.com/godruoyi/easy-container Why 目前比较流行的 PHP 容器: Pi ...
- 依赖注入容器Unity Application Block快速入门
概述 Unity是微软模式与实践团队开发的一个轻量级.可扩展的依赖注入容器,之前我也有过一篇文章<Enterprise Library 4.0中的依赖注入容器(Unity)预览>对其做过介 ...
- Pimple - 一个简单的 PHP 依赖注入容器
链接 官网 WebSite GitHub - Pimple 这是 Pimple 3.x 的文档.如果你正在使用 Pimple 1.x ,请查看 Pimple 1.x 文档. 阅读 Pimple 1.x ...
- 依赖注入容器Autofac的详解[转]
依赖注入容器Autofac的详解 发表于 2011 年 09 月 22 日 由 renfengbin 分享到:GMAIL邮箱 Hotmail邮箱 delicious digg Auto ...
- spring依赖注入_Spring源码阅读:Spring依赖注入容器
依赖注入 依赖注入是Spring框架最核心的能力,Spring框架提供的AOP,WebMVC等其它功能都是以依赖注入容器作为基础构建的,Spring依赖注入容器类似于一个用于组装对象的框架内核,任何应 ...
- asp.net core自定义依赖注入容器,替换自带容器
依赖注入 在asp.net core程序中,众所周知,依赖注入基本上贯穿了整个项目,以通用的结构来讲解,控制器层(Controller层)依赖业务层(Service层),业务层依赖于仓储层(Repos ...
- ASP.NET Core依赖注入容器中的动态服务注册
介绍 在ASP.NET Core中,每当我们将服务作为依赖项注入时,都必须将此服务注册到ASP.NET Core依赖项注入容器.但是,一个接一个地注册服务不仅繁琐且耗时,而且容易出错.因此,在这里,我 ...
- python需要依赖注入吗_是否需要使用依赖注入容器?
译文首发于 是否需要使用依赖注入容器?,转载请注明出处. 本文是依赖注入(Depeendency Injection)系列教程的第 2 篇文章,本系列教程主要讲解如何使用 PHP 实现一个轻量级服务容 ...
- 如何检查服务已在依赖注入容器中注册
前言 依赖关系注入(DI),是一种在类及其依赖项之间实现控制反转(IoC)的技术.在ASP.NET Core中,依赖关系注入是"一等公民",被大量使用. 但是有时,我们仅仅只需要知 ...
最新文章
- PCL基础1:点云数据结构
- Java Swing 皮肤
- [转]使用 C 编写 Lua 模块
- 【转载】探索式测试基础系列—生活进阶曲
- 算法2:判断两个字符串内容是否相同
- GDCM:使用Stream Image Writer伪造图像的测试程序
- zune linux_快速提示:在出售Zune HD之前,先擦除所有内容
- 位置环PID模糊C语言,PID和位置环
- windows下,linux下elasticsearch安装插件bigdesk插件的步骤
- ipad的文件连接服务器,使用Termius从iPad连接到Linux服务器
- tensorflow图片预处理,随机亮度,旋转,剪切,翻转。
- Matplotlib下载和安装
- 消失的遗传力--wiki
- 问题:_ZN6caffe28TypeMeta21_typeMetaDataInstanceIN3c107complexINS2_4HalfEEEEEPKNS_
- 《51单片机C语言程序设计教程》涉及的细节问题笔记
- linux分配设备编号
- redis manager desktop下载、安装、连接redis教程(官网)
- AMIRA时间预测实现过程详解(含代码可直接套用)
- 风控模型师面试准备--技术篇
- 导入Excle数据至数据库 “外部表不是预期的格式”错误信息