Spring.NET依赖注入框架学习--注入对象常见方法

Spring.NET依赖注入框架学习---实例化容器常用方法

本篇学习实例化Spring.NET容器的俩种方式

1、通过XmlObjectFactory创建一个Spring.NET容器

IResource input = new FileSystemResource ("objects.xml");
IObjectFactory factory = new XmlObjectFactory(input);

这样就可以通过factory的GetObject(“objectName”);获取这个对象

2、通过IApplicationContext创建一个Spring.NET容器

IApplicationContext ctx = ContextRegistry.GetContext();

这样就可以通过IApplicationContext的GetObject(“objectName”);获取这个对象

程序例子

例子代码:Person.cs

namespace Spring.NET01
{
    public class Person
    {
        public Person()
        { }
        ~Person()
        { }
        public void print()
        {
            Console.WriteLine("我是一个Person对象");
        }
    }
}

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>
    </context>

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

      <!--一个person对象-->
      <object id="person1" type="Spring.NET01.Person,Spring.NET01">

      </object>
    </objects>

  </spring>
</configuration>

添加objects.xml  其中objects 的属性值必须加上

<?xml version="1.0" encoding="utf-8" ?>
<objects xmlns="http://www.springframework.net"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://www.springframework.net
        http://www.springframework.net/xsd/spring-objects.xsd">
  <object id="person2" type="Spring.NET01.Person,Spring.NET01">
  </object>
</objects>

测试代码:

 class Program
    {
        static void Main(string[] args)
        {
            //普通对象创建
            Console.WriteLine("--------普通对象创建方法--------");
            Person person = new Person();
            person.print();

            //通过Spring.NET ioc IApplicationContext注入对象
            Console.WriteLine("--------IApplicationContext方法--------");
            IApplicationContext content = ContextRegistry.GetContext();
            Person bennanhai = (Person)content.GetObject("person1");
            bennanhai.print();

            //通过Spring.NET ioc XmlObjectFactory注入对象
            Console.WriteLine("--------XmlObjectFactory方法--------");
            IResource input = new FileSystemResource("objects.xml");
            IObjectFactory factory = new XmlObjectFactory(input);
            Person bennanhai2 = (Person)factory.GetObject("person2");
            bennanhai2.print();
            Console.Read();
        }
    }

运行结果

源代码工程下载

原文地址:https://www.cnblogs.com/JiYF/p/8284637.html

时间: 2024-07-29 21:58:23

Spring.NET依赖注入框架学习--注入对象常见方法的相关文章

Spring.NET依赖注入框架学习--入门

Spring.NET依赖注入框架学习--入门 在学些Spring.net框架之前,有必要先脑补一点知识,比如什么是依赖注入?IOC又是什么?控制反转又是什么意思?它们与Spring.net又有什么关系 带着问题,我们一起来看看下面内容(适合刚刚学习或者对依赖注入还太懂的小神看---大神直接飘过) 对以上几个问题都滚瓜烂熟的直接跳下一篇 这里我找到一篇我认为比较好的博文   原地址:http://www.cnblogs.com/jhli/p/6019895.html ---感谢博主分享 1. Io

Spring.NET依赖注入框架学习--概述

Spring.NET依赖注入框架学习--Spring.NET简介 概述 Spring.NET是一个应用程序框架,其目的是协助开发人员创建企业级的.NET应用程序.它提供了很多方面的功能,比如依赖注入.面向方面编程(AOP).数据访问抽象及ASP.NET扩展等等.Spring.NET以Java版的Spring框架为基础,将Spring.Java的核心概念与思想移植到了.NET平台上. 企业级应用一般由多个物理层组成,每个物理层也经常划分为若干功能层.不同层次之间需要相互协作,例如,业务服务层一般需

Spring.NET依赖注入框架学习--简单对象注入

Spring.NET依赖注入框架学习--简单对象注入 在前面的俩篇中讲解了依赖注入的概念以及Spring.NET框架的核心模块介绍,今天就要看看怎么来使用Spring.NET实现一个简单的对象注入 常用文件 我们使用Spring.Net 框架经常要使用到的是以下文件: Common.Logging.dll  包含了Spring.Net日志方面的功能(必须) Spring.Core.dll       包含了Spring.Net 的核心库(必须) Spring.Data.dll       包含了

黑马程序员-OC学习日记-对象与方法、对象与函数

------- ios培训. android培训.java培训.期待与您交流! ---------- 一.NSString类简介 1.NSString是OC中用来表示字符串的一个类 2.NSString类创建 (1)通过字面量方式创建 NSString * str = @"要努力学习!"; (2)通过对象方法创建 NSString * str1 = [NSString alloc]; str1 = [str1 initWithUTF8String:"今天雾霾好大!"

Spring 框架获取 datasource对象的方法

1,使用org.springframework.jdbc.datasource.DriverManagerDataSource  2.使用org.apache.commons.dbcp.BasicDataSource  3.使用org.springframework.jndi.JndiObjectFactoryBean 总结:3种方式中的第一种没有使用连接池,故少在项目中用到,第三种方式需要在web server中配置数据源,不方便于部署,本人推荐使用每二种方式进行数据源的配置. 读配置文件的方

hibernate框架学习之对象状态

Hibernate对象共有三种状态 瞬时状态:瞬时对象 持久化状态:持久化对象 托管状态:托管对象 瞬时对象(Transient Object),简称TO 瞬时对象指的是应用程序创建出来的对象,并且未受到Hibernate控制,一旦Hibernate控制了该对象,具有了OID,对象就不再是瞬时对象 持久化对象(Persistent Object),简称PO 持久化对象指的是受Hibernate控制的对象,无论该对象是如何得到的,只要受到Hibernate控制,该对象即为持久化对象.如果Hiber

js Array数组对象常见方法总结

Array对象一般用来存储数据. 其常用的方法包括: 1.concatc()方法 concat() 方法用于合并两个或多个数组.它不会更改现有数组,而是返回一个新数组. 例如: var arr1=[1,2,3]; var arr2=[4,5,6]; var arr3=arr1.concat(arr2,"7",8,[9,10]); document.write(arr3);//1,2,3,4,5,6,7,8,9,10 2.join()方法 join方法通过指定的分隔符将数组连接成字符串.

js String字符串对象常见方法总结

String对象常用来保存文本形式的数据. 其转化方法有二种: String(s) new String(s) String对象方法有: charAt() charCodeAt() concat() indexOf() lastIndexOf() match() repeat() replace() search() slice() substr() substring() split() toLowerCase() toUpperCase() trim() valueOf() toString

JavaScript string字符串对象常见方法

本文总结下几种常见的字符串方法 一.字符方法 chartAt()与charCodeAt() 1.1 chartAt()以单字符字符串的形式返回给定位置的那个字符 1.2 charCodeAt()返回的是字符编码. var str="hello world" //chartAt()以单字符字符串的形式返回给定位置的那个字符 console.log(str.charAt(4));//o //charCodeAt()返回的是字符编码. console.log(str.charCodeAt(4