Lost !

-----hard working for the furture.

导航

统计

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()方法)不知情。

 

posted on   失落''80  阅读(138)  评论(0编辑  收藏  举报

编辑推荐:
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
阅读排行:
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· 分享 3 个 .NET 开源的文件压缩处理库,助力快速实现文件压缩解压功能!
· Ollama——大语言模型本地部署的极速利器
· DeepSeek如何颠覆传统软件测试?测试工程师会被淘汰吗?
点击右上角即可分享
微信分享提示