【Spring.net点滴】
(环境:.Net1.1 ,Spring.net 1.2 Preview)
1.集合属性注入
我们的组件经常需要集合类型的属性注入,比如我的Hook(钩子)组件需要注入一个集合,该集合中的元素(int型)指明了要截获哪些类型的消息。我们经常使用IList处理集合问题:
{set{this.hookList=value ;
}
}#endregion
对应的Spring配置片断如下:
<list>
<value>1</value>
<value>3</value>
<value>2</value>
</list>
</property>
当IOC容器根据配置组装后,发现HookList中的元素是string类型的,因为IList中可以容纳任意类型的object,所以Spring采用了配置的默认类型--string。不出你想象,在运行时,如果使用下面的代码一定会抛出异常:
在经过一番思索和试验后,结论是这样的:
(1)如果要设置的集合属性中的元素是string类型的,使用IList就很好。
(2)如果是其他类型,则属性集合的类型最好是目标类型的数组,即上面的属性可以改为:
{set{this.hookList=value ;
}
}#endregion
属性的定义经过修改后,配置文件和使用它的代码不用做任何修改即可正常工作。
2.2006-06-12 当Spring依据配置文件装配对象时,如果发生错误,那么Spring在抛出异常之前将会依次调用每个已实例化对象的Dispose方法,然后再抛出System.Configuration.ConfigurationErrorsException。
如果你的程序在调用Spring.Context.Support.ContextRegistry.GetContext()时没有了反应,那么很可能是在调用某个实例的Dispose方法中有ManualResetEvent.WaitOne(-1, true);的存在。
3.2006-06-13 从多个Xml配置文件中读取对象
有三种类型的配置文件可以用来装配组件:
(1)App.config 在Context配置节中作如下指示:
(2)嵌入到程序集中的xml配置文件。在Context配置节中作如下指示:
格式: uri="assembly://MyAssembly/MyProject/AppContext.xml"/
(3)AppBase下的普通xml配置文件。在Context配置节中作如下指示:
综合起来:
比如objects.xml的内容:
esbLogger对象定义于AppContext.xml中。
转载于:https://www.cnblogs.com/zhuweisky/archive/2006/03/29/361535.html
【Spring.net点滴】相关推荐
- Spring点滴一:Spring Ioc 容器
Spring 容器: Spring 容器是Spring框架的核心.Spring容器将创建Bean对象实例,把它们联系在一起,配置它们,并管理它们整个生命周期从创建到销毁.Spring 容器通过依赖注入 ...
- Spring点滴二:Spring Bean
Spring Bean: 被称作bean的对象是构成应用程序的支柱,是由Spring Ioc容器管理.bean是一个被实例化,配置.组装并由Spring Ioc容器管理对象. 官网API:A Spri ...
- 注解的力量 -----Spring 2.5 JPA hibernate 使用方法的点滴整理(四):使用 命名空间 简化配置...
在(三)里面.我们引入了 <bean class="org.springframework.beans.factory.annotation.AutowiredAnnotationBe ...
- 注解的力量 -----Spring 2.5 JPA hibernate 使用方法的点滴整理(六): 一些常用的数据库 注解...
一. 实体 Bean 每个持久化POJO类都是一个实体Bean, 通过在类的定义中使用 @Entity 注解来进行声明. 声明实体Bean @Entity public class Flight im ...
- Spring Cloud Gateway 突发高危漏洞,下一代云原生网关恰逢其时?
Spring Cloud Gateway 突发高危漏洞 Log4j2 的漏洞刚告一段落,Spring 官方在 2022 年 3 月 1 日发布了 Spring Cloud Gateway 的两个 CV ...
- Spring Boot Serverless 实战 | Serverless 应用的监控与调试
作者:西流|阿里云函数计算专家 导读:Spring Boot 是基于 Java Spring 框架的套件,它预装了 Spring 的一系列组件,让开发者只需要很少的配置就可以创建独立运行的应用程序.在 ...
- java中什么是task_20171018java总结——Spring任务调度task:scheduled-tasks
从认识eclipse开始到现在,学习编程已经接近8个月的时间,从什么都不懂,到现在慢慢一点点学习编程,自己在不断地进步,要学习的地方还有很多. 自己也从这个平台收获到了很多知识,我也希望在这个博客上面 ...
- Spring AOP中的静态代理和动态代理的原理和实践
对于最近博主最近写博客的兴致大发,我也在思考:为什么而写博客?在互联网时代,无论你是牛人大咖,还是小白菜鸟,都有发表自己看法的权利.无论你是对的还是错的,都会在这个平台上找到答案.所以,我会尽可能去写 ...
- 毕业倒计时 — 科班仔Java后端的点滴与学习路线规划
毕业倒计时 - 科班仔Java后端的点滴与学习路线规划 文章目录 毕业倒计时 - 科班仔Java后端的点滴与学习路线规划 一.前言 二.选好方向-"站在风口上,猪都能上天" 三.学 ...
最新文章
- 使用echart的雷达图的时候,如果文字越界的解决办法记录,标签文字自动换行
- egret中loadingUI的自定义
- 操作系统(5)-进程调度算法
- new 操作符干了什么?
- dbForge Schema Compare for MySQL入门教程:预览架构同步脚本和同步架构
- 测试先知和启发式方法
- nginx 配置php
- python2.7怎么升级python3_python2.7升级至python3.6
- (精品)java宠物医院管理系统+论文+答辩ppt+部署视频+效果图效果视频
- Thinkphp使用CKEditor4富文本编辑器
- 2022年全新PHP程序开发在线工单管理系统源码,售后工单系统
- php mysql常见面试题_PHP常见面试题总结
- JAVA学习导图、思维导图
- Spring boot视频播放(解决MP4大文件无法播放),整合ffmpeg,用m3u8切片播放。
- 花旗将老虎证券目标价上调365%、将富途控股目标价上调106%
- 多雷达视频融合(1)——需求分析及解决方案
- paparazzi 使用3DR数传模块
- SQL 左连接中on后面加where和加and的区别
- 内部寄存器:通用寄存器、控制寄存器、段寄存器
- 台式计算机电源怎么看,如何查看台式机电源功率
热门文章
- java中import的使用
- java类加载体系,Java类加载体系
- 触发JVM进行Full GC的情况及应对策略
- IOTA基金会宣布推出终端用户钱包Firefly
- 微软征询“Xbox支付方式”,选项包括比特币支付
- SAP License:雾里看花系列——德国!SAP!中国企业!高管! SAP权限管控
- 谈谈线下消费分期的风险点
- web电商系统、电商平台WEB端交互原型模板、用户中心、会员中心、优惠券、积分、互动社区、运营推广、内容推荐、商品展示、订单流程、订单管理、售后及服务、Axure原型、rp原型、电商原型、商城系统原型
- AGC 26 F Manju Game
- gevent的同步与异步