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方法根据参数字符串返回一个相应的实例对象,如果参数字符 ...
随机推荐
- 20155220 《网络对抗》Exp 8 Web基础
20155220 <网络对抗>Exp 8 Web基础 基础问题回答 实践内容 1.Web前端HTML 配置环境 正常安装.启动Apache 安装:sudo apt-get install ...
- EZ 2018 01 14 2018noip第四次膜你赛
这次惨烈的炸了个精光(只有20),然后对我的OI想法造成了巨大的转折. (以上有点作,其实我只是再也不用vector存图了而已(用邻接表)) 难度很不均匀,而且题型很狗(还有结论题???) T1 坑人 ...
- Scala学习(二)练习
Scala控制结构和函数&练习 1. 一个数字如果为正数,则它的signum为1:如果是负数,则signum为-1:如果为0,则signum为0:编写一个函数来计算这个值 简单逻辑判断: 测试 ...
- 利用Python统计微信联系人男女比例以及简单的地区分布
寒暄的话不多说,直接进入主题. 运行效果图: [准备环境] Python版本:v3.5及其以上 开发工具:随意,此处使用Pycharm [依赖包] 1.itchat (CMD运行:pip instal ...
- cocos2d-x学习记录3——CCTouch触摸响应
游戏不同于影音,强交互性是其一大特色,在游戏中主要体现为接受用户的输入并响应.智能手机触摸是其重要的输入方式. 在cocos2d-x中,触摸分为单点触摸和多点触摸. 单点触摸:主要继承CCTarget ...
- Partition3:分区切换(Switch)
在SQL Server中,对超级大表做数据归档,使用select和delete命令是十分耗费CPU时间和Disk空间的,SQL Server必须记录相应数量的事务日志,而使用switch操作归档分区表 ...
- jqGrid 列内容超过一定长度省略表示
jqgrid初始化方法中的,对应列添加formatter方法 colNames : [ "描述" ], colModel : [ { name : 'description', i ...
- 配置HugePage
翻译自https://www.thegeekdiary.com/centos-rhel-67-how-to-configure-hugepages/ 什么是HugePage HugePages是Lin ...
- C#回调函数的简单讲解与应用例子(最简单讲解,大神绕道)
本博客一直以来的宗旨就是:用最简单的方式讲清楚不复杂的问题. 因为本人也很菜所以也没法讲太复杂HHHHHH...... 所以如果哪天某个大神看到了觉得讲的有问题欢迎指出. 话不多说进入正题.. ——— ...
- Linux shell(1)
Linux的Shell种类众多,常见的有:Bourne Shell(/usr/bin/sh或/bin/sh).Bourne Again Shell(/bin/bash).C Shell(/usr/bi ...