学习Spring.NET 例子

准备工作

现在手头还没有Spring.NET的朋友,先让我们来到 这里下载一份(出于功能考虑推荐使用1.1 Preview 3版的)

如同使用其他第三方工具一样,依据.NET版本引用好Spring.Core.dll程序集,然后在配置文件中加入这么一段

step 1:
< configSections >
    
< sectionGroup  name ="spring" >
      
< section  name ="context"  type ="Spring.Context.Support.ContextHandler, Spring.Core" />
      
< section  name ="objects"  type ="Spring.Context.Support.DefaultSectionHandler, Spring.Core"   />                 
     
</ sectionGroup >
  
</ configSections >

< spring >

   
< context >
       
< resource  uri ="config://spring/objects" />   
    
</ context >

< objects  xmlns ="http://www.springframework.net" >

</ objects >
</ spring >

OK,第一步工作做好.

不知道,各位在外漂泊的单身汉是不是有跟我一样的苦恼: 快餐吃来吃去,晚上经常不知道吃啥好,得,我就拿这个做DEMO吧.

先定义一个接口咯

step2:
public   interface  晚上吃啥
{
   
void 吃饭();
}

口味比较重,一般比较喜欢[吃辣椒炒肉褒仔饭] 和 [吃水煮鱼]

step3:
public   class  吃辣椒炒肉煲仔饭 : 晚上吃啥
{
    
public void 吃饭()
   

     Console.WriteLine(
"吃辣椒炒肉煲仔饭咯");
   }

}


public   class  吃水煮鱼 : 晚上吃啥
{
   
public void 吃饭()
   

     Console.WriteLine(
"吃水煮鱼咯");
   }

}



写好了,我也决定了:水煮鱼
在config文件的<objects></objects>之间加上一句

step 4:
< objects  xmlns ="http://www.springframework.net" >

< object  id ="晚餐"  type ="SpringDemo_1.吃水煮鱼,SpringDemo_1"   />

</ objects >

美食当前,具体怎么享用呢? 看这里

step 5:
[STAThread]
        
static   void  Main( string [] args)
        
{
            Spring.Context.IApplicationContext ctx 
= 
                Spring.Context.Support.ContextRegistry.GetContext();

            晚上吃啥 temp 
= ctx["晚餐"as 晚上吃啥;

            temp.吃饭();
        }


运行一下, 看到结果了吧    hoho~~

--------------------------------------------------------------------------
现在让我们回过过头来看看,具体每一步都做了什么

step 1:
<configSections></configSections> 配置节,定义了<spring>配置组
<context><resource uri="{0}" /></context>  
Spring.NET里默认提供了三种资源描述方式:
1)  <resource uri="config://spring/objects" />
     表示在config配置文件的<spring><objects>配置节内部定义了<object />
2) <resource uri="~/yourAppContext.xml" />
      表示在程序的根目录下的yourAppContext.xml文件里定义了<object />
3)<resource uri="assembly://assemblyName/namespace/yourAppContext.xml" />
      表示yourAppContext.xml设为了嵌入式资源,并在其中定义了<object />

step 2:

自定义的行为规范

step 3:

行为规范的具体实现

step 4 :

通过Spring.NET的IoC容器来配置由哪个符合行为规范的对象来执行行为

step 5:

执行行为,具体由谁执行,调用者(main()方法)不知情。

你可能感兴趣的:(spring)