• Spring.Net入门学习


    一、建立类库项目SpringNetDemo.DAO,同时建立两个文件

    1、IBLL.cs

    namespace SpringNetDemo.DAO
    {
        public interface IPersonDao
        {
            void Save();
        }
    }

    2、BLL.cs

    namespace SpringNetDemo.DAO
    {
        public class PersonDao:IPersonDao
        {
            public void Save()
            {
                Console.WriteLine("save person....");
            }
        }
    }

    二、建立控制台应用程序,命名SpringNetDemo.Test,并引用SpringNetDemo.DAO

        通常我们操作对象的方法如下

        class Program
        {
            static void Main(string[] args)
            {

                IPersonDao pd = new PersonDao();
                pd.Save();

            }
        }

        此时调用者必须要依赖于IPersonDao ,PersonDao,如果要隐藏PersonDao类的实现,我们可以使用工厂模式来实现,那么我们再建立一个

    类库SpringNetDemo.DaoFactory并引用SpringNetDemo.DAO,并且建立工厂数据访问类DataAccess.cs

    namespace SpringNetDemo.DaoFactory
    {
        public static class DataAccess
        {
            public static IPersonDao CreatePersonDao()
            {
                return new PersonDao();
            }
        }

    }

       此时我们要操作对象可以用如下方法,调用者只要知道IPersonDao ,工厂就可以了,而不需要知道PersonDao

        class Program
        {
            static void Main(string[] args)
            {

                IPersonDao pd1 = DaoFactory.DataAccess.CreatePersonDao();
                pd.Save();

            }
        }

      到了这里我们可能会思考,如果我们有一个框架可以帮我们来管理PersonDao对象就好了,继续。。。

    SpringNetDemo.Test

    1、添加对Spring.Core.dll,Common.Logging.dll引用

    2、新建App.config配置文件

    <?xml version="1.0" encoding="utf-8" ?>
    <configuration>
      <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" />-->
          <resource uri="objects.xml"></resource>
        </context>
        <!--<objects xmlns="http://www.springframework.net/">
          <description>一个简单的控制反转例子</description>
          <object id="PersonDao" type="SpringNetDemo.DAO.PersonDao,SpringNetDemo.DAO" />
        </objects>-->

      </spring>

    </configuration>

    3建立一个objects.xml

    <?xml version="1.0" encoding="utf-8" ?>
    <objects xmlns="http://www.springframework.net/">
      <description>一个简单的控制反转例子</description>


      <object id="PersonDao" type="SpringNetDemo.DAO.PersonDao,SpringNetDemo.DAO" />


    </objects>

    配置完成,下面通过程序调用

        class Program
        {
            static void Main(string[] args)
            {

                IApplicationContext ctx = ContextRegistry.GetContext();
                IPersonDao dao = ctx.GetObject("PersonDao") as IPersonDao;
                if (dao != null)
                {
                    dao.Save();
                    Console.WriteLine("我是IoC方法");
                }

            }

         }

    完成。。。。

    spring.net+ibatis.net

    源代码:IBatisNet+SpringNet

  • 相关阅读:
    C#中Cookies操作
    获取WPF url 地址中的Cookies
    c#的dllimport使用方法详解
    SQLite的原子提交及WAL日志模式 和 SQLite多线程解决方案
    单例模式
    C# 操作 ofd 文件
    .NET Core 3 、WPF MVVM框架 、Prism系列 之经典 博客园友
    .NET Core 3 WPF MVVM框架 Prism系列之事件聚合器
    程序员不得不了解的硬核知识大全
    Invalid prop: custom validator check failed for prop "pagination".
  • 原文地址:https://www.cnblogs.com/yidianfeng/p/2261895.html
Copyright © 2020-2023  润新知