manually added -->
/****/ -->
一、打开vs2010,菜单文件->新建->项目->其它项目类型->vs解决方案
工程结构分部:
Solution-
src
Domain
Entities
Mappings
Dao
Config
Interface
InterfaceImpl
Nhibernate(这一层可以不写用上面的)
Nhibernate
Service
Interface
InterfaceImpl
Winform工程
lib
doc
1、新建一个类库工程domain,位置路径为解决方案路径下面的src下面。
vs工程新建的时候必须看下工程的属性必须选择 .net framework 4 默认是client这个有问题。使用spring.net和nhibernate时候报引用错误
2、在Domain工程下新建2个文件夹Entities和Mappings,然后使用自动生成工具生成entities和mappings文件并添加进vs2010对应工程文件夹,因为用了动软生成实体,和codesmith生成配置文件所以生成的文件名字、字段属性可能不一致,这里需要修改一下。
用到mapping的时候配置文件必须是嵌入式的否则会报错
Error creating context 'spring.root': InputStream is null from Resource = [assembly [Dao, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null], resource [Dao.Dao.Config.Dao.xml]]
3、再次新建类库工程Dao(Service)下面新建2个文件夹Dao、DaoImpl(Service、ServiceImpl)。添加对应的业务接口可实现。
4、添加form工程WinForm 添加Form文件夹,编写Form程序
Form 程序入口添加log4net 加载。也可以把form 交给spring.net管理(不推荐)
第一步:在项目中添加对log4net.dll
第二步:程序启动时读取log4net的配置文件。
如果是CS程序,在根目录的Program.cs中的Main方法中添加:
log4net.Config.XmlConfigurator.Configure();
如果是BS程序,在根目录的Global.asax.cs(没有新建一个)中的Application_Start方法中添加:
log4net.Config.XmlConfigurator.Configure();
无论BS还是CS程序都可直接在项目的AssemblyInfo.cs文件里添加以下的语句:
[assembly: log4net.Config .XmlConfigurator()]
static class Program
{
///
/// 应用程序的主入口点。
///
[STAThread]
static void Main()
{
//读取log4net配置文件
log4net.Config.XmlConfigurator.Configure();
Application.EnableVisualStyles();
Application.SetCompatibleTextRenderingDefault(false);
Application.Run(new Form1());
//IApplicationContext ctx = ContextRegistry.GetContext();
//Form1 from1 = (Form1)ctx.GetObject("Form1");
//Application.Run(from1);
}
}
form表单程序
private void button1_Click(object sender, EventArgs e)
{
// create and configure objects
//IApplicationContext ctx = new XmlApplicationContext("assembly://Dao/Dao.Config/Dao.xml", "assembly://Service/Service.Config/Service.xml");
IApplicationContext ctx = ContextRegistry.GetContext();
IProductService productService = ctx.GetObject("ProductService") as IProductService;
productService.ProcessProduct();
}
二、配置app.config
1、在WinForm工程中添加app.config xml配置文件
An example that demonstrates simple IoC features.
2、Dao.xml配置文件下面红色标注的地方必须注意不同版本可能有所区别,文档上的跟新不是很及时有些东西是老的容易出错。还是要看版本更新列表说明。
The Northwind object definitions for the Data Access Objects.
2.3 Servcie.xml 配置
The service layer definitions