net的app.config程序配置Spring.net和nhibernate


 
    
        
BlackOpsP2.Core 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.
  

  
  
    
  

  
  
  

  
  
    
    
      
        
        Domain
      
    
    
      
        
        
        
        
        
      
    

    
    

  


  
  

    
    

  


  
  

  

  
    
  


2.3 Servcie.xml 配置




  

  
    The  service layer definitions
  

  
  
    
  

  






 

 


 

你可能感兴趣的:(c#,nhibernate,winform)