Spring.net学习记录
Spring.Net功能:
1、控制反转(IOC):就是创建对象的权利由开发人员自己控制New,转到了有容器来控制
2、依赖注入(DI):就是通过容器来创建对象的时候,在对象初始化时给一些属性、构造方法的参数等注入默认值
3、面向切面编程(AOP)
mvc中最典型的AOP:过滤器
在MVC中应用Spring.Net:
1、引用相关dll
Common.Logging.dll是Spring.net内使用的日志记录文件
Spring.Core.dll是Spring.net的核心文件
Spring.Web.dll和Spring.Web.Extensions.dll是针对web的处理和扩展
Spring.Web.Mvc4.dll是针对mvc4做的扩展
2、在mvc项目的根目录下创建Config文件夹,并在文件夹下创建controller.xml文件
<?xml version="1.0" encoding="utf-8" ?> <objects xmlns="http://www.springframework.net"><object name="UserInfoService" type="类所在的命名空间.类名, 类所在的程序集" singleton="false" ><property name="userInfoService" ref="userInfoService"/></object><object type="类所在的命名空间.类名, 程序集" singleton="false" name="userInfoService" ></object><!--intentionally do NOT register the AccountController or the ValuesController with the container; demonstrates that the underlyingdefault controller factory will properly (attempt to!) resolve all controllers not registered with Spring.NETusing its default controller resolution behavoir--><!--<object type="Spring.Mvc4QuickStart.Controllers.AccountController, Spring.Mvc4QuickStart" singleton="false" />--><!--<object type="Spring.Mvc4QuickStart.Controllers.ValuesController, Spring.Mvc4QuickStart" singleton="false" />--> </objects>
每个object都是一个类,type属性指定类所在的命名空间和程序集,属性singleton表示是否单例,object下的字节点property关联类下需要赋默认值的属性,name值与类中属性名相同,如何属性是另一个类,则property中则用ref关联,否则用value=“默认值”,每个property都对应类中的一个属性,多个具有默认值的属性就会有多个property。
3、配置web.config
原样写入
4、修改global文件
5、创建使用
IApplicationContext ctx = ContextRegistry.GetContext(); //创建容器.IUserInfoService lister = (IUserInfoService)ctx.GetObject("UserInfoService");//GetObject中传入的参数与配置文件中Object的name值对应
第5步中对象的创建交给容器,是控制反转IOC
配置文件中对属性进行默认值赋值是依赖注入
Spring.Net的AOP暂未用到,等以后使用后记录......
转载于:https://www.cnblogs.com/zhhwDavidblog/p/7953616.html
Spring.net学习记录相关推荐
- Spring的学习记录
代码和笔记都在github,可以自行下载! Aop理解的不太好,后续的学习中在加深对其的理解!!! 这里写目录标题 1.Spring 1.1 简介 1.2优点 1.3组成 1.4拓展 2 IOC理论推 ...
- Spring学习记录(九)---通过工厂方法配置bean
1. 使用静态工厂方法创建Bean,用到一个工厂类 例子:一个Car类,有brand和price属性. 1 package com.guigu.spring.factory; 2 3 public c ...
- 我的Spring学习记录(二)
本篇就简单的说一下Bean的装配和AOP 本篇的项目是在上一篇我的Spring学习记录(一) 中项目的基础上进行开发的 1. 使用setter方法和构造方法装配Bean 1.1 前期准备 使用sett ...
- springboot @cacheable不起作用_Springboot学习记录13 使用缓存:整合redis
本学习记录的代码,部分参考自gitee码云的如下工程.这个工程有详尽的Spingboot1.x教程.鸣谢! https://gitee.com/didispace/SpringBoot-Learnin ...
- Redis的学习记录
Redis的学习记录 1.先导了解 1.1 NOSQL概述 1.1.1 为什么要用NoSql? 1.1.2 NoSql了解 1.1.3 NoSql特点 1.1.4 NoSQL的四大分类 2. Redi ...
- Spring Cloud 学习资料收集
导读 关于Spring Cloud 去年开始逐渐多的出现在我的视线中,随着微服务这个词越来越热,我们或多或少的都听说过这个词,我们可以将Spring Cloud 看做是java 中Spring 为我们 ...
- php+打开文件和其子文件,【php学习记录】 引用、打开文件
[php学习记录] 引用.打开文件 一.PHP echo 和 print 语句 echo 和 print 区别: echo - 可以输出一个或多个字符串 print - 只允许输出一个字符串,返回值总 ...
- Spring.NET 学习总结
spring.net Spring.NET为建立企业级应用提供了一套轻量级的解决方案.通过Spring.NET,我们可以用统一且透明的方式来配置应用程序.Spring.NET的重点是为中间层提供声明式 ...
- 八个开源的 Spring Boot 学习资源,你值得拥有
点击上方 好好学java ,选择 星标 公众号 重磅资讯.干货,第一时间送达 今日推荐:什么?你还在使用fastjson,性能太差了个人原创+1博客:点击前往,查看更多 转载自:牧马小子 Spring ...
最新文章
- Linux下开发优秀链接
- Python正则表达式使用的四个基本步骤
- UIMenuController的使用,对UILabel拷贝以及定制菜单
- 【Linux】一步一步学Linux——type命令(200)
- PacketGetAdapterNames返回false
- dot net操作sql服务器大全
- iOS工作笔记之NSClassFromString
- 2021 ccpc 哈尔滨 G. Damaged Bicycle 状压 + 期望dp
- 最长回文子串(Longest Palindromic Substring)
- centos下查看调优apache状态的相关命令
- java字符串处理截取和替换字符
- 蓝桥杯 ALGO-71 算法训练 比较字符串
- Nagios监控Linux主机
- nodeJS 视频教程
- IntelliJ IDEA搭建Hadoop开发环境
- 蓝桥杯C语言基础训练答案,蓝桥杯c语言答案.doc
- 网页版迅雷离线下载过程分析
- 复杂网络中的结构洞理论及其Python实现
- maya破解版安装python_Maya mayapy.exe 安装 Cython,编译 pyd
- 佛罗里达大学计算机工程硕士要求,佛罗里达大学计算机工程理学硕士研究生申请要求及申请材料要求清单...
热门文章
- 工作队列 order linux,linux 工作队列(workqueue)
- String类能被继承吗,为什么?
- SHOW VARIABLES LIKE “tx_isolation“查看mysql查看当前数据库的事物隔离级别
- 分布式数据库技术基础:分布透明性相关知识
- Linux运维必备的40个命令总结(值得收藏)
- Linux中实用但很小众的11个炫酷终端命令
- php中等腰金字塔挖空,php 用for循環做,金字塔,菱形,空三角
- es查询大文本效率_es之路由:进一步提高Elasticsearch的检索效率(适用大规模数据集)...
- IPC 共享内存和 消息队列(发送、接收、移除)以及键值的生成
- python中beautifulsoup是什么库_BeautifulSoup库详解(个人整理)