//这里是客户端的代码 当调用CreatePersonDao这个抽象方法或者虚方法的时候由配置文件返回指定的实例

为查询的方法注入某个实例 start

static void Main(string[] args)
        {
            IApplicationContext ctx = ContextRegistry.GetContext();

            Console.WriteLine("查询方法");
            ObjectFactory factory = (ObjectFactory)ctx.GetObject("objectFactory");
            factory.CreatePersonDao().Save();
            Console.WriteLine();

}

//下面是配置文件

<!--查询方法-->
      <object id="personDao" type="SpringNet_MethodDi.PersonDao, SpringNet_MethodDi" singleton="false"/>
      <object id="objectFactory" type="SpringNet_MethodDi.ObjectFactory, SpringNet_MethodDi">
        <lookup-method name="CreatePersonDao" object="personDao"/>//执行CreatePersonDao方法时返回Persondao实例
      </object>

//注意,可以直接在配置中定义这个类的对象
    public abstract class ObjectFactory   
    {
        //或者可以是一个虚方法    
        public abstract PersonDao CreatePersonDao();    
    }

    public class PersonDao
    {
        public void Save()
        {
            Console.WriteLine("保存数据");
        }
    }

为查询的方法注入某个实例 end

最新文章

  1. 曝光最新WIN10系统32位,64位系统ghost版
  2. spark 获取applicationID
  3. securecrt 用心跳保持连接
  4. 数据库批量修改表名,增加前缀(SQL server)
  5. 搭建linux环境下jenkins可移植环境
  6. 共享一个防止脚本重复启动的shell脚本
  7. mysql 服务不见了的解决办法
  8. jQuery.extend()方法和jQuery.fn.extend()方法
  9. Asp.Net请求响应过程
  10. spark2.2 DataFrame的一些算子操作
  11. JSON概述
  12. case 函数的简单使用记录下
  13. python简单的监控脚本-利用socket、psutil阻止远程主机运行特定程序
  14. Quartz Cron表达式详解
  15. go不使用工具包将大写字符转成小写字符的方法
  16. vue filter方法-时间格式化
  17. 应使用sqlplus代替tnsping进行oracle连通性测试
  18. 顺序表的C、C++实现
  19. 局域网2台机器访问mysql服务器
  20. 专业分析docker的分层存储技术

热门文章

  1. emacs之开始就加载tag
  2. GOF23设计模式之适配器模式(Adapter)
  3. SQL Server数据库常用的T-SQL命令
  4. Hibernate学习8—Hibernate 映射关系(一对一)
  5. 汇编_指令_DS*10H的含义
  6. 北京师范大学第十六届程序设计竞赛决赛 C萌萌哒身高差
  7. Java-Runoob-高级教程: Java 多线程编程
  8. 缺乏libaio包导致报The server quit without updating PID file
  9. node的调试
  10. CentOS7 tar打包工具 打包,解包,打包压缩,打包解压缩