vs2015 C# 控制台简单SpringDEMO
用的是VS2015
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;namespace SpringDemo
{interface ITextSpring{void Show();}
}
新建三个类
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace SpringDemo
{
class baseTextSpring
{
public string PropStr { get; set; }
}
class XMLTextSpring : baseTextSpring, ITextSpring
{
public void Show()
{
Console.WriteLine("通过自身config文件配置调用");
Console.WriteLine("XMLTextSpring的Prop属性是:" + PropStr);
}
}
class AssemblyTextSpring : baseTextSpring, ITextSpring
{
public void Show()
{
Console.WriteLine("通过XML嵌入文件配置调用");
Console.WriteLine("AssemblyTextSpring的Prop属性是:" + PropStr);
}
}
class FileTextSpring : baseTextSpring, ITextSpring
{
public void Show()
{
Console.WriteLine("通过XML外部文件配置调用");
Console.WriteLine("FileTextSpring的Prop属性是:" + PropStr);
}
}
}
以上 准备工作完成,下面开始进入正题
using Spring.Context;
using Spring.Context.Support;
然后获取容器
IApplicationContext context = ContextRegistry.GetContext();
使用容器获取类
ITextSpring XML = context.GetObject("XMLTextSpring") as ITextSpring;ITextSpring assembly = context.GetObject("AssemblyTextSpring") as ITextSpring;ITextSpring file = context.GetObject("FileTextSpring") as ITextSpring;
测试
XML.Show();assembly.Show();file.Show();
好处就在于不需要new一个类,不管你那三个类怎么变,主程序里都不需要修改,代码如下
using Spring.Context;
using Spring.Context.Support;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;namespace SpringDemo
{class Program{static void Main(string[] args){///获取容器IApplicationContext context = ContextRegistry.GetContext();///创建类ITextSpring XML = context.GetObject("XMLTextSpring") as ITextSpring;ITextSpring assembly = context.GetObject("AssemblyTextSpring") as ITextSpring;ITextSpring file = context.GetObject("FileTextSpring") as ITextSpring;///使用方法XML.Show();assembly.Show();file.Show();Console.ReadLine();}}
}
此时如果运行是会报错的
<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>
然后在下面添加srping节点
<spring>
<!--Spring.Net对象容器的配置-->
<context>
<!--容器里面的所有的对象在哪里配置的?-->
<!--在项目下面的xml.xml文件里配置-->
<resource uri="file://TextFile.xml"/>
<!--在项目下面的 assembly.xml文件里配置-->
<resource uri="assembly://SpringDemo/SpringDemo/assembly.xml"/>
<!--在本配置文件后面配置-->
<resource uri="config://spring/objects"/>
</context>
<!--objects:配置的容器的里面的对象的-->
<objects xmlns="http://www.springframework.net">
<description>这是描述</description>
<!--前面是命名空间 后面是程序集-->
<object name="XMLTextSpring" type="SpringDemo.XMLTextSpring, SpringDemo">
<property name="PropStr" value="App.config文件"/>
</object>
</objects>
</spring>
xml.xml表示在项目下有个xml.xml文件,里面配置相关参数, file://表示运行时exe程序所在目录
<?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 name="FileTextSpring" type="SpringDemo.FileTextSpring, SpringDemo">
<property name="PropStr" value="TextSpring.xml文件"/>
</object>
</objects>
assembly.xml如下
<?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 name="AssemblyTextSpring" type="SpringDemo.AssemblyTextSpring, SpringDemo">
<property name="PropStr" value="assembly.xml文件"/>
</object>
</objects>
此时运行还是会出错,那是因为xml.xml没有生成到程序目录文件下
好了, 运行效果如下
vs2015 C# 控制台简单SpringDEMO相关推荐
- 浏览器控制台简单测试websocket接口收发
浏览器控制台简单测试websocket接口收发 打开一个网页 F12打开控制台 ws = new WebSocket('ws://121.40.165.18:8800'); 或者 ws = new W ...
- JDBC中用控制台简单对数据库进行增删改查操作(IDEA.2023)
文章目录 前言 一.首先是每个操作共用的操作大纲 1.注册驱动 2.创建连接 3.编写SQL语句结果,动态值的部分使用?代替 4.创建prepareStatement,并且传入SQL语句的结果 5.占 ...
- C++控制台简单的用户登录
# 头文件 #include "stdafx.h"using namespace std;class UserLogin { public:UserLogin();~UserLog ...
- C#---百度图像识别SDK的控制台简单应用;
(刚刚转C#,一个项目用到,就分享出来,第一次写博客,有不足之处还请指正,某些编写方式只是习惯使然) 1.首先,在百度AI平台进行注册登录:百度AI 2.然后点开右上角的控制台,找到图像识别,创建应用 ...
- C#控制台简单魔塔小游戏
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.T ...
- VS2015可以运行opencv库,但不出图片。
1.将VS的运行环境改为x64的(5个openCV库的运行需求),添加引用前四个dll后,分别在相应文件Console_text001\Console_text001\bin的Debug和x64里放入 ...
- Chrome 控制台的console用法收集
Chrome 控制台console的用法 大家都有用过各种类型的浏览器,每种浏览器都有自己的特色,本人拙见,在我用过的浏览器当中,我是最喜欢Chrome的,因为它对于调试脚本及前端设计调试都有它比其它 ...
- VS2015的下载及安装
第一步,VS2015 Community版本的下载,此版本注册后是免费使用的,其他版本需要激活,但是安装步骤都是相同的.VS2015 Community下载网址:http://download.mic ...
- Chrome的控制台(Console)的用法(超详细,还未细看)
为什么写了本篇博客: (1)在Chrome浏览器开发者工具介绍:(包括,Network面板介绍,XHR等等)中,遇到了Chrome的控制台(Console):本篇博客就是详细介绍Console的. 本 ...
最新文章
- Android 正则表达式实例
- android自定义水波纹,Android自定义View——实现水波纹效果类似剩余流量球(示例代码)...
- 对象存储/编码/解码
- 脚本重启nginx进程
- saltstack (6) 配置管理(2)
- 05.full_text match_bool_prefix match_phrase_prefix 查询
- SharePoint 2013开发入门探索(二)- 列表操作
- QD75D416轴PLC控制伺服电机16轴完整案例
- 坚果nuts 加速 官网_坚果 R2 发布:骁龙 865、1 亿像素、双曲面屏,售价 4499 元...
- 计算机上什么键有存储,计算器存储运算键是什么?
- NLP(四十二)人物关系分类的再次尝试
- Fabric2.3分布式部署
- 云函数+微信公众号到个人微信
- Java入门基础.1
- java捕获唯一约束异常_java – 捕获JPA上唯一约束的原因
- HIT2372 Recoup Traveling Expenses(最长单调子序列)
- 明星志愿3 服务器维护,【明星志愿3】【攻略】训练、打工以及证书
- pygame 键盘事件
- 极点五笔/xshell远程/桌面or命令启动/配制打印机/
- 常见建站安装软件教程 好东西
热门文章
- 【kettle抽取Orecle/Mysql数据至HDFS】诸如‘\u0001’等特殊分隔符表示法
- 无法向虚拟机中拷贝文件解决办法
- 深度linux打不开了,深度社区严重打不开
- git+github+jenkins自动发布
- AI反腐:细查24万份合同,牵出千亿违规采购
- 关于Windows-Linux双系统的启动引导
- Pdf 插入图片 | 指定位置插入图片 不改变原格式 直接操作 pdf
- 打官司除了找律师,还能找谁?
- 使用python爬取google翻译的语音
- JavaScript---网络编程(8)-DHTML技术演示(1)