NET Core 三层架构,依赖注入
来源:互联网 发布:webbench 源码 编辑:程序博客网 时间:2024/06/15 15:34
NET Core搭建三层架构,每层之间使用依赖注入获取实例
项目结构如下
常用的三层,Web-BLL-DLL
BLL与DAL层分为Interface里边是提供接口,Implments提供实现类,DIRegister提供依赖注入的映射关系
一:新建好三层添加好每层之间的依赖
项目之间的依赖还是像以前一样,右键添加引用即可
vs2017添加引用的是可能会报错:找不到 Microsoft.VisualStudio.Shell.Interop.IVsReferenceManager 服务的实例
解决方法:http://blog.csdn.net/aojiancc2/article/details/74972566
DeptMangerBLL.cs代码:
里边通过构造函数注入调用DAL层的方法
public class DeptMangerBLL: IDeptMangerBLL { private IDeptMangerDAL _idl; //构造函数注入 public DeptMangerBLL(IDeptMangerDAL idl) { _idl = idl; } public string GetDName() { string dname = _idl.GetDName(); return dname; } }
二:每层之间配置好依赖注入的映射关系
BLL层
//BLL层的依赖注入 public class BLLDIRegister { public void DIRegister_DAL(IServiceCollection services) { //配置一个依赖注入映射关系 services.AddTransient(typeof(IDeptMangerBLL), typeof(DeptMangerBLL)); //注册DAL层的依赖注入 DALDIRegister sdr = new DALDIRegister(); sdr.DIRegister_DAL(services); } }
DAL层
//DAL层的依赖注入 public class DALDIRegister { public void DIRegister_DAL(IServiceCollection services) { services.AddTransient(typeof(IDeptMangerDAL), typeof(DeptMangerDAL)); } }
注意在.NET Core类库中没有引用依赖注入的类库:Microsoft.Extensions.DependencyInjection
根本就获取不到IServiceCollection
所以需要添加Microsoft.Extensions.DependencyInjection的引用,可以右键管理Nuget程序包然后搜索
添加依赖
也可以在.csproj中配置依赖Nuget会自动下载,配置如下:
<ItemGroup> <PackageReference Include="Microsoft.Extensions.DependencyInjection" Version="1.1.1" /> </ItemGroup>
三:在Startup.cs的ConfigureServices中添加各层的依赖注入配置
public void ConfigureServices(IServiceCollection services) { //注册BLL层的依赖注入配置 BLLDIRegister sdr = new BLLDIRegister(); sdr.DIRegister_DAL(services); services.AddMvc(); }
配置好后controller中就可以很方便的使用中BLL的类了
public class HomeController : Controller { private IDeptMangerBLL _id; //构造函数注入 public HomeController(IDeptMangerBLL id) { _id = id; } public IActionResult Index() { //调用接口中的方法 string dname = _id.GetDName(); return View(); } }
- NET Core 三层架构,依赖注入
- ASP.NET Core 依赖注入
- ASP.Net Core的内置依赖注入
- .net core依赖注入的封装
- ASP.NET Core 2.0 依赖注入
- ASP.NET Core 2.0 依赖注入
- [.NET开发] ASP.NET Core 1.0基础之依赖注入
- Asp.net core 学习笔记--(1)依赖注入
- 拥抱.NET Core系列:依赖注入(2)
- ASP.NET Core MVC 控制器创建与依赖注入
- 拥抱.NET Core系列:依赖注入(1)
- ASP.NET Core依赖注入解读&使用Autofac替代实现
- .net core注入服务
- 扩展ASP.NET MVC三层框架并使用StructureMap实现依赖注入1
- 扩展ASP.NET MVC三层框架并使用StructureMap实现依赖注入2
- .Net 三层架构资料
- .NET三层架构应用
- .NET三层架构
- Linux关机命令详解
- Core Graphics基础和实践
- 常用的IDea插件
- 寻找和为定值的两个数-三种解法
- oracle数据库字符集的修改(改Oracle字符集到utf-8为例)
- NET Core 三层架构,依赖注入
- MyBatis使用
- github使用入门
- JavaSE
- bokeh.plotting API
- 欢迎使用CSDN-markdown编辑器
- ios-NSString和NSMutableString函数
- java基础教程:常用对象之数学公式类Math(25)
- 利用AOP编程进行日志处理