spring.net框架配置和使用
spring.net框架学习笔记
spring.net框架是用于解决企业应用开发的复杂性的一种容器框架,它的一大功能IOC(控制反转),通俗解释就是通过spring.net框架的容器创建对象实体,而不是通过程序员new出来。只要在spring.net的相应xml中配置节点,在获取对象的时候就可以通过
IApplicationContext ctx = ContextRegistry.GetContext();
UserInfoDal dal = ctx.GetObject("UserInfoDal") as UserInfoDal;
来创建实体对象,这样就可以在XML里通过配置修改或者替换UserInfoDal类,降低程序对服务类的依赖性,符合软件设计中的OCP(开闭原则),提高软件的可扩展性。IOC也叫DI(依赖注入),这两种不同的叫法可以这样理解,在应用程序整体中理解为控制反转(控制权交由应用程序),在容器对对象实例化的角度叫做DI(依赖对象通过xml配置文件让外部容器将其注入到程序中)。
1.引用相应dll文件Common.Logging.dll和Spring.Core.dll
2.使用Spring.net需要配置应用程序的配置文件:
<?xml version="1.0" encoding="utf-8" ?>
<configuration> <configSections> <!--Spring配置节点-->
<sectionGroup name="spring">
<section name="context" type="Spring.Context.Support.ContextHandler, Spring.Core"/>
<section name="objects" type="Spring.Context.Support.DefaultSectionHandler, Spring.Core" />
</sectionGroup>
<!--Spring配置节点结束--> </configSections> <!--Spring配置节点-->
<spring> <context>
<!--选择XML文件的位置,3种方式,1 配置文件 2 定位文件 3 程序集-->
<resource uri="config://spring/objects"/>
<!-- <resource uri="file://objects.xml"/>-->
<!--<resource uri="assembly://SpringNetTest/SpringNetTest/objects1.xml"/>-->
</context>
<objects xmlns="http://www.springframework.net"> <!--此处配置各种要注入的实体对象-->
<object name="OrderInfo" type="SpringNetTest.OrderInfo,SpringNetTest">
<property name="Id" value="1"/>
<property name="Good" value="食品"/>
</object>
<!--autowire="constructor"根据构造函数注入 au-->
<object name="UserInfoDal" type="SpringNetTest.UserInfoDal,SpringNetTest" autowire="byType">
<constructor-arg name="Id" value="2"/>
<!--<constructor-arg name="OrderInfo" ref="OrderInfo"/>-->
</object>
<object name="UserInfo" type="SpringNetTest.UserInfo,SpringNetTest">
<property name="Id" value="1"/>
<property name="Name" value="jayjay"/>
<property name="OrderInfo" ref="OrderInfo"/>
</object>
</objects> </spring>
<!--Spring配置节点结束--> </configuration>
ps:<object name="对象名" type="命名空间名称.类名,程序集名"> 3.通过 IApplicationContext ctx = ContextRegistry.GetContext();
UserInfoDal dal = ctx.GetObject("UserInfoDal") as UserInfoDal;
创建容器上下文对象,接着创建服务类实体对象,对象即可与手动new出来一样正常使用。
spring.net框架配置和使用的更多相关文章
- Spring笔记——Spring框架简介和初次框架配置
Spring简介 Spring是一个开源框架,Spring是于2003 年兴起的一个轻量级的Java 开发框架,由Rod Johnson 在其著作Expert One-On-One J2EE Deve ...
- 初识Spring Boot框架(二)之DIY一个Spring Boot的自动配置
在上篇博客初识Spring Boot框架中我们初步见识了SpringBoot的方便之处,很多小伙伴可能也会好奇这个Spring Boot是怎么实现自动配置的,那么今天我就带小伙伴我们自己来实现一个简单 ...
- Spring Boot干货系列:(七)默认日志框架配置
Spring Boot干货系列:(七)默认日志框架配置 原创 2017-04-05 嘟嘟MD 嘟爷java超神学堂 前言 今天来介绍下Spring Boot如何配置日志logback,我刚学习的时候, ...
- Spring.Net框架二:配置Spring.Net框架环境
一.下载DLL文件 去Spring的官方网站下载并解压,然后直接添加dll文件的引用就可以了.在上一篇文章中,已经介绍过Spring.Net框架中需要使用到的dll文件.这些程序集文件位于Spring ...
- JAVA基础加强(张孝祥)_类加载器、分析代理类的作用与原理及AOP概念、分析JVM动态生成的类、实现类似Spring的可配置的AOP框架
1.类加载器 ·简要介绍什么是类加载器,和类加载器的作用 ·Java虚拟机中可以安装多个类加载器,系统默认三个主要类加载器,每个类负责加载特定位置的类:BootStrap,ExtClassLoader ...
- Spring框架配置beans.xml
Spring学习笔记(一) 一.Spring 框架 Spring 是一个开源框架,是为了解决企业应用程序开发复杂性而创建的.框架的主要优势之一就是其分层架构,分层架构允许您选择使用哪一个组件,同时为 ...
- 【Spring】Spring框架配置详情
Spring框架的一个亮点就是能实现注入并且可以对实例化的Bean进行管理. 本文将对Spring框架的配置做一个详细的讲解. 一般情况下Spring是不单独使用的,而是和Hibernate配合使用, ...
- Spring Boot 框架下使用MyBatis访问数据库之基于XML配置的方式
MyBatis 是一款优秀的持久层框架,它支持定制化 SQL.存储过程以及高级映射.MyBatis 避免了几乎所有的 JDBC 代码和手动设置参数以及获取结果集.MyBatis 可以使用简单的 XML ...
- java 实现类似spring的可配置的AOP框架
一.工厂类BeanFactory: 1.工厂类BeanFactory负责创建目标类或代理类的实例对象,并通过配置文件实现切换. 2.getBean方法根据参数字符串返回一个相应的实例对象,如果参数字符 ...
随机推荐
- Fiddler无法抓取某些APP的HTTPS请求,无解!!!
遇到有些APP的HTTPS请求无法抓取!错误提示: !SecureClientPipeDirect failed: System.Security.Authentication.Authenticat ...
- Java中枚举的写法和用法
在公司代码中,用了一大堆的枚举,看得我好懵逼.下面开始看看枚举怎么写和怎么用. 一.枚举的写法 关于枚举的写法,网上好多这方面的知识.这里直接贴一个我自己写的枚举类的代 ...
- mfc 纯虚函数和抽象类
纯虚函数 抽像类 一.纯虚函数 虚函数为了重载和多态的需要,有时需要在基类中定义一个纯虚函数,代码部分在子类中加以实现.定义格式如下的函数我们称为纯虚函数: ; 纯虚函数与空虚函数是有区别的; 二.抽 ...
- 洛咕3312 [SDOI2014]数表
洛咕3312 [SDOI2014]数表 终于独立写出一道题了...真tm开心(还是先写完题解在写的) 先无视a的限制,设\(f[i]\)表示i的约数之和 不妨设\(n<m\) \(Ans=\su ...
- centos 7部署ELK
一.ELK介绍 Elasticsearch 是基于 JSON 的分布式搜索和分析引擎,专为实现水平扩展.高可用和管理便捷性而设计.Logstash 是动态数据收集管道,拥有可扩展的插件生态系统,能够与 ...
- tcp ,http .udp
三次握手,四次挥手要知道,记住. 计算机协议常见面试题,学会了,记住.会运用.
- yocto-sumo源码解析(五): bitbake/lib/bb/main.py
续前面分析,就该对bitbake_main()这个函数进行分析了,这个函数位于bitbake/lib/bb/main.py. 1. 检测主机操作系统是否为linux并且/dev/shm是否存在,pyt ...
- 使用devstack/pike部署多节点实验
目录 第一步:安装Ubuntu16.04 server并以stack为用户名创建用户 第二步:安装git及相关配置 第三步:安装Open vSwitch 2.5.X 第四步:获取devstack脚本 ...
- 1079. Total Sales of Supply Chain (25)-求数的层次和叶子节点
和下面是同类型的题目,只不过问的不一样罢了: 1090. Highest Price in Supply Chain (25)-dfs求层数 1106. Lowest Price in Supply ...
- PAT甲题题解-1112. Stucked Keyboard (20)-(map应用)
题意:给定一个k,键盘里有些键盘卡住了,按一次会打出k次,要求找出可能的坏键,按发现的顺序输出,并且输出正确的字符串顺序. map<char,int>用来标记一个键是否为坏键,一开始的时候 ...