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

时间:2022-09-21 14:34:40

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”);获取这个对象

程序例子

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

例子代码: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();
}
}

运行结果

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

源代码工程下载

Spring.NET依赖注入框架学习--实例化容器常用方法的更多相关文章

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

    Spring.NET依赖注入框架学习--简单对象注入 在前面的俩篇中讲解了依赖注入的概念以及Spring.NET框架的核心模块介绍,今天就要看看怎么来使用Spring.NET实现一个简单的对象注入 常 ...

  2. Spring&period;NET依赖注入框架学习--简介

    Spring.NET依赖注入框架学习--Spring.NET简介 概述 Spring.NET是一个应用程序框架,其目的是协助开发人员创建企业级的.NET应用程序.它提供了很多方面的功能,比如依赖注入. ...

  3. Spring&period;NET依赖注入框架学习--入门

    Spring.NET依赖注入框架学习--入门 在学些Spring.net框架之前,有必要先脑补一点知识,比如什么是依赖注入?IOC又是什么?控制反转又是什么意思?它们与Spring.net又有什么关系 ...

  4. Spring&period;NET依赖注入框架学习-- 泛型对象的创建和使用

    Spring.NET依赖注入框架学习-- 泛型对象的创建和使用 泛型对象的创建方法和普通对象是一样的. 通过构造器创建泛型对象 下面是一个泛型类的代码: namespace GenericsPlay ...

  5. 在ABAP里模拟实现Java Spring的依赖注入

    Dependency Injection- 依赖注入,在Java Spring框架中有着广泛地应用.通过依赖注入,我们不必在应用代码里繁琐地初始化依赖的资源,非常方便. 那么ABAP能否从语言层面上也 ...

  6. 从壹开始前后端分离【 &period;NET Core2&period;0 &plus;Vue2&period;0 】框架之九 &vert;&vert; 依赖注入IoC学习 &plus; AOP界面编程初探

    更新 1.如果看不懂本文,或者比较困难,先别着急问问题,我单写了一个关于依赖注入的小Demo,可以下载看看,多思考思考注入的原理: https://github.com/anjoy8/BlogArti ...

  7. Z从壹开始前后端分离【 &period;NET Core2&period;2&sol;3&period;0 &plus;Vue2&period;0 】框架之九 &vert;&vert; 依赖注入IoC学习 &plus; AOP界面编程初探

    本文* 本文3.0版本文章 更新 代码已上传Github+Gitee,文末有地址 零.今天完成的绿色部分 一.依赖注入的理解和思考 二.常见的IoC框架有哪些 1.Autofac+原生 2.三种注入 ...

  8. spring的依赖注入是什么意思

    最近学习spring框架,对依赖注入有些模糊,遂上网翻阅资料,做了下列总结,原博客为CSDN 南夏的 spring的依赖注入是什么意思,侵删! Spring 能有效地组织J2EE应用各层的对象.不管是 ...

  9. Spring的依赖注入概述

    以下内容引用自http://wiki.jikexueyuan.com/project/spring/dependency-injection.html: 每个基于Java应用程序都有几个对象,这些对象 ...

随机推荐

  1. stringbuffer和stringbuilder

    StringBuffer是线程安全的可变字符序列.长度可变,类型任意,最终都要转换为字符串存储.是一个字符串缓冲区,是一个容器.用于临时存储数据.不过StringBuffer缓冲区内部是由数组来存储的 ...

  2. ODAC(V9&period;5&period;15&rpar; 学习笔记(十九)主键值自动生成

    ODAC支持通过Oracle的序列来自动生成表的主键功能.这个过程允许在客户端自动完成,不需要过多代码.这个对一些要求自动增长字段做主键的场合非常有用.其实现步骤为: 1.数据库必须先建立生成主键的序 ...

  3. 微信支付redirect&lowbar;uri参数错误

    在做微信支付的时候,点击提交,出现“redirect_uri参数错误”.经过查找,需要在后台正确设置授权域名.大致步骤如下:1.首先登录微信公众号管理后台2.点击开发者中心3.找到 网页账号—> ...

  4. 如何使用 Cloud Insight SDK 实现 Druid 监控?

    Druid 简介与用途 首先说明,这里所说的 Druid 并不是阿里巴巴的数据库连接池项目,而是 Eric Tschetter 创立的一个开源的分布式实时处理系统,希望为烧钱的大数据处理,提供一种更廉 ...

  5. &lbrack;转&rsqb;&lbrack;JAVA&rsqb;定时任务之-Quartz使用篇

    [BAT][JAVA]定时任务之-Quartz使用篇 定时任务之-Quartz使用篇 Quartz是OpenSymphony开源组织在Job scheduling领域又一个开源项目,它可以与J2EE与 ...

  6. &lbrack;TJOI 2017&rsqb;可乐

    Description 加里敦星球的人们特别喜欢喝可乐.因而,他们的敌对星球研发出了一个可乐机器人,并且放在了加里敦星球的1号城市上.这个可乐机器人有三种行为: 停在原地,去下一个相邻的城市,自爆.它 ...

  7. Redis&plus;Restful 构造序列号和压力测试【后续】

    大家还记上篇博文https://www.cnblogs.com/itshare/p/8643508.html,测试redis构造流水号的tps是600多/1s. 这个速度显然不能体现redis 集群在 ...

  8. iOS 10 Programming Fundamentals with Swift 学习笔记 0

    1,a single statement can be broken into multiple lines ,For example, after an opening parenthesis is ...

  9. 通过IntelliJ IDEA和Maven命令查看某个jar包是怎么引入的

    发现打包的时候引入的jar包有几百个,如果想知道某个jar包是如何引入的,可以 看Maven Projects,点开某个Module的Dependencies 一层一层展开就可以了 可以直接输入名称高 ...

  10. 剑指Offer 23&period; 二叉搜索树的后序遍历序列 (二叉搜索树)

    题目描述 输入一个整数数组,判断该数组是不是某二叉搜索树的后序遍历的结果.如果是则输出Yes,否则输出No.假设输入的数组的任意两个数字都互不相同. 题目地址 https://www.nowcoder ...