MVC5+Unity4.0注入依赖学习
来源:互联网 发布:淘宝网毛衣货源 编辑:程序博客网 时间:2024/06/11 05:56
概念:
Unity是一个轻量级的可扩展的依赖注入容器,支持构造函数,属性和方法调用注入。Unity可以处理那些从事基于组件的软件工程的开发人员所面对的问题。构建一个成功应用程序的关键是实现非常松散的耦合设计。松散耦合的应用程序更灵活,更易于维护。这样的程序也更容易在开发期间进行测试。你可以模拟对象,具有较强的具体依赖关系的垫片(轻量级模拟实现),如数据库连接,网络连接,ERP连接,和丰富的用户界面组件。例如,处理客户信息的对象可能依赖于其他对象访问的数据存储,验证信息,并检查该用户是否被授权执行更新。依赖注入技术,可确保客户类正确实例化和填充所有这些对象,尤其是在依赖可能是抽象的 。
更多知识:Unity
步骤:
新建MVC项目,添加Nuget包,如截图中的2个:
缺少第二个将不能使用属性依赖的方式进行注入!!!
Unity.Mvc包安装后,会在Mvc项目出现下面2个文件:
接下来编写测试代码;
接口层代码:
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
下面是接口实现:
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 26
- 27
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 26
- 27
在App_Start目录下的UnityConfig文件中,注册类型映射关系
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
以后每增加一种映射关系,都要在这里注册,当然你也可以通过别的方式实现注册:如配置文件等。
准备工作OK了,可以直接在controller中使用了
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
调试时就会发现,_A不是null,而是一个new A();
在自己学习过程中,出现了几种错误:
列表内容
1、Resolution of the dependency failed, type = “IA”, name = “(none)”.
这个是因为IA的映射关系没有注册;
2、Resolution of the dependency failed, type = “HomeController”, name = “(none)”.
这个是因为没有引用Unity.Mvc包
- MVC5+Unity4.0注入依赖学习
- MVC5+Unity4.0注入依赖学习
- asp.net mvc5 Autofac 依赖注入
- ASP.Net MVC5 使用Unity 实现依赖注入
- 构建ASP.NET MVC5+EF6+EasyUI 1.4.3+Unity4.x注入的后台管理系统(源码说明)
- 构建ASP.NET MVC5+EF6+EasyUI 1.4.3+Unity4.x注入的后台管理系统(51)-系统升级
- 构建ASP.NET MVC5+EF6+EasyUI 1.4.3+Unity4.x注入的后台管理系统--任务调度系统解析
- 构建ASP.NET MVC5+EF6+EasyUI 1.4.3+Unity4.x注入的后台管理系统--系统权限全套完整图
- 构建ASP.NET MVC5+EF6+EasyUI 1.4.3+Unity4.x注入的后台管理系统--系统模块部分图
- 构建ASP.NET MVC5+EF6+EasyUI 1.4.3+Unity4.x注入的后台管理系统--工作流演示截图
- 构建ASP.NET MVC5+EF6+EasyUI 1.5+Unity4.x注入的后台管理系统(62)-EF链接串加密
- Spring 学习-------依赖注入
- 依赖注入学习总结
- 依赖注入学习总结
- 构建ASP.NET MVC5+EF6+EasyUI 1.4.3+Unity4.x注入的后台管理系统(50)-Easyui 扁平化皮肤
- 构建ASP.NET MVC5+EF6+EasyUI 1.4.3+Unity4.x注入的后台管理系统(52)-美化EasyUI皮肤和图标
- 构建ASP.NET MVC5+EF6+EasyUI 1.4.3+Unity4.x注入的后台管理系统(53)-工作流设计-我的批阅
- 构建ASP.NET MVC5+EF6+EasyUI 1.4.3+Unity4.x注入的后台管理系统(54)-工作流设计-所有流程监控
- AndroidStudio关于jniLibs文件夹的个人理解
- [Leetcode] 151. Reverse Words in a String 解题报告
- 二阶段提交,三阶段提交,Paxos
- 复习
- Linux基础
- MVC5+Unity4.0注入依赖学习
- [bzoj2127] happiness 最小割
- 微信小程序开发—(十二)列表
- 大前端
- java poi上传excel保存数据库
- python基础学习(八):字符串格式化
- angular 价格符号
- 汇编程序:将字符串中所有大写字符转为小写
- Visual Studio For Mac