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的使用相关推荐

  1. 又一个强大的PHP5.3依赖注入容器

    简单的服务容器 一个简单的 php 5.3 依赖注入容器. 项目地址:https://github.com/godruoyi/easy-container Why 目前比较流行的 PHP 容器: Pi ...

  2. 依赖注入容器Unity Application Block快速入门

    概述 Unity是微软模式与实践团队开发的一个轻量级.可扩展的依赖注入容器,之前我也有过一篇文章<Enterprise Library 4.0中的依赖注入容器(Unity)预览>对其做过介 ...

  3. Pimple - 一个简单的 PHP 依赖注入容器

    链接 官网 WebSite GitHub - Pimple 这是 Pimple 3.x 的文档.如果你正在使用 Pimple 1.x ,请查看 Pimple 1.x 文档. 阅读 Pimple 1.x ...

  4. 依赖注入容器Autofac的详解[转]

    依赖注入容器Autofac的详解 发表于 2011 年 09 月 22 日 由 renfengbin 分享到:GMAIL邮箱         Hotmail邮箱 delicious digg Auto ...

  5. spring依赖注入_Spring源码阅读:Spring依赖注入容器

    依赖注入 依赖注入是Spring框架最核心的能力,Spring框架提供的AOP,WebMVC等其它功能都是以依赖注入容器作为基础构建的,Spring依赖注入容器类似于一个用于组装对象的框架内核,任何应 ...

  6. asp.net core自定义依赖注入容器,替换自带容器

    依赖注入 在asp.net core程序中,众所周知,依赖注入基本上贯穿了整个项目,以通用的结构来讲解,控制器层(Controller层)依赖业务层(Service层),业务层依赖于仓储层(Repos ...

  7. ASP.NET Core依赖注入容器中的动态服务注册

    介绍 在ASP.NET Core中,每当我们将服务作为依赖项注入时,都必须将此服务注册到ASP.NET Core依赖项注入容器.但是,一个接一个地注册服务不仅繁琐且耗时,而且容易出错.因此,在这里,我 ...

  8. python需要依赖注入吗_是否需要使用依赖注入容器?

    译文首发于 是否需要使用依赖注入容器?,转载请注明出处. 本文是依赖注入(Depeendency Injection)系列教程的第 2 篇文章,本系列教程主要讲解如何使用 PHP 实现一个轻量级服务容 ...

  9. 如何检查服务已在依赖注入容器中注册

    前言 依赖关系注入(DI),是一种在类及其依赖项之间实现控制反转(IoC)的技术.在ASP.NET Core中,依赖关系注入是"一等公民",被大量使用. 但是有时,我们仅仅只需要知 ...

最新文章

  1. PCL基础1:点云数据结构
  2. Java Swing 皮肤
  3. [转]使用 C 编写 Lua 模块
  4. 【转载】探索式测试基础系列—生活进阶曲
  5. 算法2:判断两个字符串内容是否相同
  6. GDCM:使用Stream Image Writer伪造图像的测试程序
  7. zune linux_快速提示:在出售Zune HD之前,先擦除所有内容
  8. 位置环PID模糊C语言,PID和位置环
  9. windows下,linux下elasticsearch安装插件bigdesk插件的步骤
  10. ipad的文件连接服务器,使用Termius从iPad连接到Linux服务器
  11. tensorflow图片预处理,随机亮度,旋转,剪切,翻转。
  12. Matplotlib下载和安装
  13. 消失的遗传力--wiki
  14. 问题:_ZN6caffe28TypeMeta21_typeMetaDataInstanceIN3c107complexINS2_4HalfEEEEEPKNS_
  15. 《51单片机C语言程序设计教程》涉及的细节问题笔记
  16. linux分配设备编号
  17. redis manager desktop下载、安装、连接redis教程(官网)
  18. AMIRA时间预测实现过程详解(含代码可直接套用)
  19. 风控模型师面试准备--技术篇
  20. 导入Excle数据至数据库 “外部表不是预期的格式”错误信息

热门文章

  1. 能使用html/css解决的问题就不要使用JS
  2. The podfile
  3. 上半年产品原型设计Axure rp稿(持续更新)
  4. 应用在vs的ide调试环境下运行顺利,但是在bin目录直接运行exe报错的问题
  5. JS中通过call方法实现继承
  6. 运用扩展管理器完成flash图层的合并
  7. 在vc或mfc中显示IplImage的方法
  8. MFC一一添加WM_USER自定义消息
  9. MFC中绘制动态曲线
  10. 切换器黑屏_景阳华泰科技高清无缝矩阵切换器高端视频会议运用