博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
spring.net学习(一) 搭建环境,实例化spring.net容器。
阅读量:6573 次
发布时间:2019-06-24

本文共 2201 字,大约阅读时间需要 7 分钟。

1,使用nuget安装SPring.Core。安装这个的同时,会把Common.Logging,Common.Logging.Core也装上。

2,建立对象配置xml文件。如图Objects.xml。(文件的属性要设置为嵌入的资源,不然在实例化容器的时候会找不到资源抛异常。)

3,实例化容器,三种方法

     (1)通过物理路径读取对象配置文件进行容器实例化

       

///         /// 物理路径方式        ///         static void RegSpringContainer()        {            IResource objXml = new FileSystemResource(@"D:\Demo\NHibernateTest\NHibernateTest\Objects.xml");            IObjectFactory factory = new XmlObjectFactory(objXml);            UserService service = factory.GetObject("UserService") as UserService;            User model = service.Find(1);            string name = model != null ? model.UserName : "";            Console.WriteLine(name);        }

    (2) 通过程序集读取配置文件,对容器进行实例化(通过此方法,须把Objects.xml文件属性设置为嵌入的资源,不然找不到配置文件抛异常)

///         /// 程序集方式        ///         static void RegSpringAssembly()        {            string[] xmlFiles = new string[] {                 //"file://Objects.xml",                "assembly://NHibernateTest/NHibernateTest/Objects.xml"            };            IApplicationContext context = new XmlApplicationContext(xmlFiles);            IObjectFactory factory = (IObjectFactory)context;            UserService service = factory.GetObject("UserService") as UserService;            User model = service.Find(1);            string name = model != null ? model.UserName : "";            Console.WriteLine(name);        }

      这种方式需满足URI语法:

  file://文件名
  assembly://程序集名/命名空名/文件名

      (3) ,对过配置文件App.config或Web.config添加自定义配置节点,读取配置文件,实例化容器。(通过此方法,须把Objects.xml文件属性设置为嵌入的资源,不然找不到配置文件抛异常)

       

///         /// 配置文件方式        ///         static void RegSpringConfig()        {            IApplicationContext context = ContextRegistry.GetContext();            UserService service = context.GetObject("UserService") as UserService;            User model = service.Find(1);            string name = model != null ? model.UserName : "";            Console.WriteLine(name);        }

 

测试程序:

static void Main(string[] args)        {            //RegSpringContainer();            RegSpringAssembly();            //RegSpringConfig();        }

 

参考:http://www.cnblogs.com/GoodHelper/archive/2009/10/25/SpringNET_Config.html

转载于:https://www.cnblogs.com/crazy29/p/6065979.html

你可能感兴趣的文章
Docker 部署 SpringBoot 项目整合 Redis 镜像做访问计数Demo
查看>>
ReactNative字体大小不随系统字体大小变化而变化
查看>>
中台之上(五):业务架构和中台的难点,都是需要反复锤炼出标准模型
查看>>
为什么中台是传统企业数字化转型的关键?
查看>>
使用模板将Web服务的结果转换为标记语言
查看>>
inno setup 打包脚本学习
查看>>
php 并发控制中的独占锁
查看>>
从pandas到geopandas
查看>>
用express搭建网站
查看>>
如何在 Swift 中进行错误处理
查看>>
[Leetcode] Factor Combinations 因数组合
查看>>
用tinypng插件创建gulp task压缩图片
查看>>
BetaMeow----利用机器学习做五子棋AI
查看>>
APM终端用户体验监控分析(下)
查看>>
React Native 0.20官方入门教程
查看>>
JSON for Modern C++ 3.6.0 发布
查看>>
Tomcat9.0部署iot.war(环境mysql8.0,centos7.2)
查看>>
我的友情链接
查看>>
Oracle 服务作用
查看>>
监听在微信中打开页面时的自带返回按钮事件
查看>>