最近在学习spring.net 接下来将实现一个与我们普通三层结合的实例!简单了解一下spring.net的运用;
该项目共分四层;接口层IClassLibrary 被BLL 及DAL层引用;层;
BLL不引用DAL 因为我们这用spring.net来加载;
BLL引用的spring.net所要的DLL配置文件在UI
我们首先来看一下接口层两个类的代码:
using System;using System.Collections.Generic;using System.Linq;using System.Text;namespace IClassLibrary{ public interface IBll { void GetBllData(); }}
using System;using System.Collections.Generic;using System.Linq;using System.Text;namespace IClassLibrary{ public interface IDal { void GetDataStr(); }}
using System.Text;using IClassLibrary;namespace DAL{ public class DalClass:IDal { public void GetDataStr() { Console.WriteLine("通过手动获得数据"); } }}
using IClassLibrary;namespace DAL{ public class DalTwoClass:IDal { public void GetDataStr() { Console.WriteLine("通过自动获得信息"); } }}
DAL这边有个地方必须要注意;因为我们DAL层没有让任务引用;所以我们要修改它生成后的路径;否则会报无法加载的错误;我们要把生成的路径改在我们UI层的BIN文件夹里;
接下来我们看一下BLL层的类代码:
using IClassLibrary;using Spring.Context;using Spring.Context.Support;using Spring.Core.IO;using Spring.Objects.Factory.Xml;using Spring.Objects.Factory;namespace BLL{ public class BllClass:IBll { private IDal DB; public BllClass() { //string[] xmlFiles = new string[] { "file://Config/Objects.xml" }; //IApplicationContext context = new XmlApplicationContext(xmlFiles); //DB = context.GetObject("readerDal") as IDal; IResource input = new FileSystemResource("file://Config/Objects.xml"); IObjectFactory factory = new XmlObjectFactory(input); DB = (IDal)factory.GetObject("readerDals"); } public void GetBllData() { DB.GetDataStr(); } }}
type=类库.类,类库
接下来我们看一下配置文件App.Config
接下来我们看一下UI层的代码:
using BLL;namespace UI{ class Program { static void Main(string[] args) { //配置文件要放在哪里 BllClass bllCient = new BllClass(); bllCient.GetBllData(); Console.ReadLine(); } }}