NET Core 三层架构,依赖注入
2017-07-13 14:23
260 查看
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层的方法
二:每层之间配置好依赖注入的映射关系
BLL层
DAL层
注意在.NET Core类库中没有引用依赖注入的类库:Microsoft.Extensions.DependencyInjection
根本就获取不到IServiceCollection
所以需要添加Microsoft.Extensions.DependencyInjection的引用,可以右键管理Nuget程序包然后搜索
添加依赖
也可以在.csproj中配置依赖Nuget会自动下载,配置如下:
三:在Startup.cs的ConfigureServices中添加各层的依赖注入配置
配置好后controller中就可以很方便的使用中BLL的类了
项目结构如下
常用的三层,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(); } }
相关文章推荐
- 运用Unity实现依赖注入[结合简单三层实例]
- 从壹开始前后端分离【 .NET Core2.0 Api + Vue 3.0 + AOP + 分布式】框架之九 || 依赖注入IoC学习 + AOP界面编程初探
- 在.NET Core中处理一个接口多个不同实现的依赖注入问题
- NopCommerce架构分析(一)Autofac依赖注入类生成容器
- .NET Core 中依赖注入 AutoMapper 小记
- 基于.NET平台的分层架构实战(六)——依赖注入机制及IoC的设计与实现
- NET Core 中的依赖注入
- 从壹开始前后端分离【 .NET Core2.0 Api + Vue 3.0 + AOP + 分布式】框架之九 || 依赖注入IoC学习 + AOP界面编程初探
- 拥抱.NET Core系列:依赖注入(1)
- 拥抱.NET Core系列:依赖注入(1)
- 4.6 .net core依赖注入的封装
- Spring架构学习(2)通过Properties文件实现依赖注入
- 深入理解net core中的依赖注入、Singleton、Scoped、Transient(四)
- .NET Core中依赖注入AutoMapper的方法示例
- 基于.NET平台的分层架构实战(六)——依赖注入机制及IoC的设计与实现
- 依赖注入6(配置文件实现三层(自动注入))
- ASPNETCOREAPI 跨域处理 SQL 语句拼接 多条件分页查询 ASPNET CORE 核心 通过依赖注入(注入服务)
- 在.NET Core中处理一个接口多个不同实现的依赖注入问题
- 基于.NET平台的分层架构------依赖注入机制及IoC的设计与实现