posted @ 2011-07-27 11:23 Vernon Zeng 阅读(259) 评论(1) 编辑
置顶随笔
2011年7月27日
在做项目的过程中遇到一个问题,就是业务逻辑层、数据访问层中的类定义的是泛型类,刚开始接触Spring.net不知道怎样将泛型类对象进行更层的注入,网上找了一大堆资料,找到的只有集合类型的注入,但这根本不能满足需求。后面自己摸索,终于找到方法了,简单说一下:
数据访问层:
public class DAL<T>
{
……
}
业务逻辑层:
public class BLL<T>
{
//定义属性
private Dal<T> dal;
public Dal<T> Dal
{
get { return dal; }
set{ dal = value;}
}
……
}
表示层(我用的是WinForm)
public partial class UI:Form
{
//Model是指具体的实体类,这里简写了
private BLL<Model> bll;
public BLL<Model> Bll
{
get { return bll; }
set { bll= value; }
}
……
}
Spring 配置文件:
……
<!-- 配置 UI层的属性注入-->
<object id="UI" type="命名空间.UI,命名空间" >
<property name="Bll" ref="Bll"/>
</object>
例如:
<object id="FrmBillFill" type="BillPrinter.UI.FrmBillFill,BillPrinter.UI" >
<property name="BillPrintBiz" ref="BillPrintBiz"/>
</object>
<!-- < 其实就是左尖括号(<) -->
<object id="Bll" type="Bll命名空间.BLL<实体类命名空间>.Model>,命名空间" >
<property name="Dal" ref="Dal"/>
</object>
例如:
<object id="BillPrintBiz" type="BillPrinter.BLL.BillPrintMainBiz<BillPrinter.Model.HistoryDetailsInfo>, BillPrinter.BLL" >
<property name="BillPrintMainDao" ref="BillPrintMainDao"/>
</object>
<object id="Dal" type="命名空间.DAL<实体类命名空间>.Model>,命名空间" >
</object>
例如:
<object id="BillPrintMainDao"type="BillPrinter.DAL.BillPrintMainDao<BillPrinter.Model.HistoryDetailsInfo>,BillPrinter.DAL" >
</object>
……
其实整个配置的关键就是 配置BLL和DAL属性的 <实体类命名空间.Model,命名空间
解析出来如:NameSpace.BLL.Class<Model>,很简单的吧,初学者适用,欢迎高手们丢砖啊!
posted @ 2011-07-27 11:23 Vernon Zeng 阅读(259) 评论(1) 编辑
