前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Spring.Net学习系列一

Spring.Net学习系列一

作者头像
郑小超.
发布2018-01-26 15:41:15
5200
发布2018-01-26 15:41:15
举报
文章被收录于专栏:GreenLeavesGreenLeaves

废话不多说,如果在看本文之前,你还不知道spring.net是什么,还不知道什么是控制反转、IOC容器、依赖注入、面向切面编程那么请你先去了解这些概念,再来看本文!本系列的文章将会以先贴代码,然后分析代码的方式讲解Spring.Net的一些简单的应用!

1、IObjectFactory接口

IObjectFactory是初始化、配置及管理对象的实际容器,它是所有容器的父接口.IObjectFactory本质上是一个注册了各种对象及其依赖项的高级工厂。通过IObjectFactory接口,可以读取容器内的对象定义并访问它们所代表的对象。如果只需要使用IOjbectFactory接口的功能,可以用代码创建其实现类的实例,然后读取XML对象定义中的内容。

(1)、如何与IObjectFactory接口进行交互

新建控制台应用程序,工程目录如下:

第一步:请确保你的测试控制台控制已经引入了Spring.Core程序集、Common.Logging程序集

Spring.Core程序集:Spring.Core程序集是Spring.NET控制反转(IoC,也叫做依赖注入)功能的基础程序集,如果不了解控制反转和依赖注入,请参考控制反转和依赖注入模式

Common.Logging程序集:apache下的一款日志接口组件,该接口提供了一组功能,通过这组功能能完成日志记录功能,它本事不具备强大的日志功能,只具备一些控制台日志功能,但是通过这个组件,可以完美的适配其他的日志组件,如:log4net等,通过配置文件的方式,本文不打算用其他日志组件的功能,而是打算用common.logging自带的控制台日志功能。

点击下载

第二步:上面的工作完成之后,下面开始编写App.config的代码,如下:

代码语言:javascript
复制
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
  <!--日志接口配置-->
  <configSections>
    <sectionGroup name="common">
      <section name="logging" type="Common.Logging.ConfigurationSectionHandler, Common.Logging" />
    </sectionGroup>
  </configSections>
  <common>
    <logging>
      <factoryAdapter type="Common.Logging.Simple.ConsoleOutLoggerFactoryAdapter, Common.Logging">
        <arg key="showLogName" value="true" />
        <arg key="showDataTime" value="true" />
        <arg key="level" value="DEBUG" />
        <arg key="dateTimeFormat" value="yyyy/MM/dd HH:mm:ss:fff" />
      </factoryAdapter>
    </logging>
  </common>
  <!--日志接口配置-->

  <startup>
    <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.5" />
  </startup>
</configuration>

因为Spring.Core用的是Common.Logging作的日志接口组件,所以必须在App.config中对其进行配置,该组件的说明请参考Common.Logging源码解析一(该随笔只是对Common.Logging的源码进行分析,如果你不知道Common.Logging的具体用处,请百度),配置完之后,通过Spring.Net进行的部分操作会记录到控制台中。

第三步:编写spring配置文件

代码语言:javascript
复制
<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="cat" type="Spring.Cat, Spring"/>
  <object id="dog" type="Spring.Dog, Spring" singleton="false"/>
</objects>
本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2017-06-28 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
容器服务
腾讯云容器服务(Tencent Kubernetes Engine, TKE)基于原生 kubernetes 提供以容器为核心的、高度可扩展的高性能容器管理服务,覆盖 Serverless、边缘计算、分布式云等多种业务部署场景,业内首创单个集群兼容多种计算节点的容器资源管理模式。同时产品作为云原生 Finops 领先布道者,主导开源项目Crane,全面助力客户实现资源优化、成本控制。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档